avoir une chaîne d'espaces blanchisseurs: je voudrais
Remplir la longueur des caractères à une position. p> en C, il ressemblerait à p> Comment puis-je atteindre cette chaîne C ++, j'ai essayé p> string& assign( const string& str, size_type index, size_type len );
3 Réponses :
avec l'un des remplacer (...) em> méthodes ( Documentation ) Vous pouvez faire tout ce dont vous avez besoin p>
Premièrement, pour déclarer une chaîne simple, vous n'avez pas besoin de pointeurs:
std::fill( str.begin()+pos, str.begin()+pos+length, '#' );
COMPILER se plaint toujours - Toute suggestion? Erreur: Conversion invalide de Char 'To Code> Const Char *' Erreur: Initialiser l'argument 3 de `std :: basic_string <_chart, _Traits, _ALLOC> & std :: basique_string <_chart, _Traits, _ALLOC>: : remplacer (typename _ALLOC :: Taille_type, typename _ALLOC :: Taille_type, const _chart *) [avec _chart = char, _traits = std :: Char_traits
en plus de si vous essayez de remplir passé la fin de la chaîne cependant, il sera ignoré. p> p> chaîne :: Remplacer () code> Vous pouvez utiliser std :: remplir code>:
Y a-t-il une raison d'allouer de manière dynamique la chaîne dans votre exemple?
@Gman - Je ne les veux pas comme une variable automatique plutôt sur le tas dans le mauvais chemin STRDUP ()