C++ 找到字符串的第一个字符,然后将其与符号c++;
正在尝试检查字符串的第一个字符是否包含“/” 我理解上面的代码将不起作用,因为pathname.at(0)被视为int 我相信这是以前问过的。但是我已经到处看看了。我见过substr方法find方法和许多其他方法。但我似乎无法让它们正常工作C++ 找到字符串的第一个字符,然后将其与符号c++;,c++,C++,正在尝试检查字符串的第一个字符是否包含“/” 我理解上面的代码将不起作用,因为pathname.at(0)被视为int 我相信这是以前问过的。但是我已经到处看看了。我见过substr方法find方法和许多其他方法。但我似乎无法让它们正常工作 建议?提前感谢。使用单引号表示字符常量 if(pathname.at(0) == '/') ^ ^ 双引号,不管里面有多少个字符,都表示一个C样式的字符串。无法将字符与C字符串进行比较。将第一个符号代码与字符串指针
建议?提前感谢。使用单引号表示字符常量
if(pathname.at(0) == '/')
^ ^
双引号,不管里面有多少个字符,都表示一个C样式的字符串。无法将字符与C字符串进行比较。将第一个符号代码与字符串指针进行比较。尝试将第一个符号与字符进行比较
if(pathname.at(0) == '/')
std::string::at()
返回(对a的引用)char
,而不是int
“/”
是以null结尾的字符串,而不是字符。将“/”
更改为“/”
,则代码将正常工作。另外,std::string::erase()
被重载以获取索引或迭代器,因此您可以选择将pathname.erase(pathname.begin()+0)
更改为仅pathname.erase(0)
。您是对的。这样会更有效率。非常感谢。
if(pathname.at(0) == '/')