在粘贴一些代码后,我的程序中出现了这些错误:
showdata.cpp:66: error: stray ‘\342’ in program
showdata.cpp:66: error: stray ‘\200’ in program
showdata.cpp:66: error: stray ‘\235’ in program
showdata.cpp:66: error: stray ‘\’ in program
showdata.cpp:66: error: stray ‘\342’ in program
showdata.cpp:66: error: stray ‘\200’ in program
showdata.cpp:66: error: stray ‘\235’ in program
showdata.cpp:67: error: stray ‘\342’ in program
showdata.cpp:67: error: stray ‘\200’ in program
showdata.cpp:67: error: stray ‘\235’ in program
showdata.cpp:67: error: stray ‘\’ in program
showdata.cpp:67: error: stray ‘\342’ in program
showdata.cpp:67: error: stray ‘\200’ in program
showdata.cpp:67: error: stray ‘\235’ in program
以下是导致错误的两行。
size_t startpos = str.find_first_not_of(” \t”);
size_t endpos = str.find_last_not_of(” \t”);
如何解决这个问题?
答案 0 :(得分:38)
符号”
不是"
。这些被称为“智能引号”,通常可以在丰富的文档或博客中找到。
答案 1 :(得分:6)
行
size_t startpos = str.find_first_not_of(” \t”);
size_t endpos = str.find_last_not_of(” \t”);
有一些“特殊”的双引号,请尝试以下方法:
size_t startpos = str.find_first_not_of(" \t");
size_t endpos = str.find_last_not_of(" \t");
答案 2 :(得分:1)
这里值得一提的是(对于与我一样登陆此页面的人),此类错误消息error: stray ‘\xyz’ in program
可以与编译器无法识别为合法的任何其他字符或符号一起出现。
分享我的个人经历:
- bool less<const char∗>(const char∗ a, const char∗ b)
- bool less<const char*>(const char* a, const char* b)
前一个是从PDF文件中复制粘贴的。 它无法编译。。
后来编译按预期编译。
答案 3 :(得分:0)
您可以使用sed命令来解决这些问题。
这将让您快速预览将要替换的内容。
sed s/[”“]/'"'/g File.txt
这将执行替换并将替换放在名为WithoutSmartQuotes.txt的新文件中。
sed s/[”“]/'"'/g File.txt > WithoutSmartQuotes.txt
这将覆盖原始文件。
sed -i ".bk" s/[”“]/'"'/g File.txt