C ++ Builder字符数组寻址

时间:2014-08-25 16:56:59

标签: c++ character c++builder

我在C ++ Builder IDE中访问字符数组中的单个字符时遇到问题。由于某种原因,引号不会终止该字符,其后面的代码被认为是该字符的一部分,至少是我从中获取的字符(或者它是否正在尝试告诉我别的什么?):

IDE screenshot

2 个答案:

答案 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 == ':') {
        ...    
    }
}