Stray '\342' dans un programme C++
J'obtiens ces erreurs dans mon programme après le coller dans le code:
showdata.cpp:66: error: stray ‘2’ in program
showdata.cpp:66: error: stray ‘0’ in program
showdata.cpp:66: error: stray ‘5’ in program
showdata.cpp:66: error: stray ‘\’ in program
showdata.cpp:66: error: stray ‘2’ in program
showdata.cpp:66: error: stray ‘0’ in program
showdata.cpp:66: error: stray ‘5’ in program
showdata.cpp:67: error: stray ‘2’ in program
showdata.cpp:67: error: stray ‘0’ in program
showdata.cpp:67: error: stray ‘5’ in program
showdata.cpp:67: error: stray ‘\’ in program
showdata.cpp:67: error: stray ‘2’ in program
showdata.cpp:67: error: stray ‘0’ in program
showdata.cpp:67: error: stray ‘5’ in program
Voici les deux lignes qui sont à l'origine des erreurs.
size_t startpos = str.find_first_not_of(” \t”);
size_t endpos = str.find_last_not_of(” \t”);
Comment résoudre ce problème?
OriginalL'auteur neuromancer | 2010-02-26
Vous devez vous connecter pour publier un commentaire.
Le symbole
”
n'est pas"
. Ceux-ci sont appelés des "guillemets" et sont généralement trouvés dans des documents riches ou les blogs.Ou copier-coller du code à partir de blogs. Quoi qu'il en soit, il n'est pas à nous de le critiquer.
Cela se produit également lors de la copie de code à partir de O'Reilly Pdf
Il m'est arrivé... j'ai eu mon ancien Turbo/Borland C (3.1) du code documenté sur Parole. Pour vérifier si certains d'entre eux étaient compatibles avec GCC/G++, j'ai collé des morceaux sélectionnés à partir du fichier DOC à GEdit. Et il était là... Et le pire, c'est que je n'ai jamais remarqué ce changement jusqu'à ce que j'ai vu cette réponse... Hmmm peut-être que je me fais vieux 🙂
Cela se produit lorsque vous utilisez "shift+enter" dans certains éditeurs
OriginalL'auteur LiraNuna
Les lignes
"spécial" sorte de guillemets doubles, essayez les solutions suivantes:
OriginalL'auteur hlovdal
Vous pouvez utiliser la commande sed pour résoudre ces problèmes.
Cela vous donnera un rapide aperçu de ce qui va être remplacé.
sed s/[”“]/'"'/g File.txt
Cela permettra d'effectuer les remplacements et de mettre le remplacement dans un nouveau fichier appelé WithoutSmartQuotes.txt.
sed s/[”“]/'"'/g File.txt > WithoutSmartQuotes.txt
Cela va écraser le fichier d'origine.
sed -i ".bk" s/[”“]/'"'/g File.txt
-i
et.bk
- GNU sed (au moins) s'interpréter séparément (c'est à dire "sur place avec pas de fichier de sauvegarde" et une commande qui est une erreur de syntaxe).OriginalL'auteur cokedude
Il est intéressant de mentionner ici (pour celui des terres sur cette page, tout comme moi) que ce genre de message d'erreur
error: stray ‘\xyz’ in program
peut apparaître à n'importe quel autre caractère ou un symbole qui n'est pas reconnu par le compilateur comme un droit légal.Le partage de mon expérience personnelle:
Ancien est un copier-collé à partir d'un fichier PDF. Il ne compile pas..
Plus tard, on compile comme prévu.
OriginalL'auteur Saurav Sahu