我在C ++ Builder IDE中访问字符数组中的单个字符时遇到问题。由于某种原因,引号不会终止该字符,其后面的代码被认为是该字符的一部分,至少是我从中获取的字符(或者它是否正在尝试告诉我别的什么?):
答案 0 :(得分:1)
\
用作转义字符,您应该使用'\\'
来表达\
,就像使用'\''
来表达'
答案 1 :(得分:1)
除了Piotr所说的,你不需要将字符串数据复制到一个单独的数组中来迭代它,你可以直接迭代原始字符串。
如果fileNameString是System::String
:
for(int i = 1; i <= fileNameString.Length(); ++i)
{
if(fileNameString[i] == '\\' || fileNameString[i] == ':') {
...
}
}
如果fileNameString是std::string
:
for(int i = 0; i < fileNameString.length(); ++i)
{
if(fileNameString[i] == '\\' || fileNameString[i] == ':') {
...
}
}
或者:
for(std::string::iterator iter = fileNameString.begin(); iter != fileNameString.end(); ++iter)
{
if(*iter == '\\' || *iter == ':') {
...
}
}