【发布时间】:2016-04-13 05:53:27
【问题描述】:
我有大约 3500 个完整的文件路径要对 (ex. "C:\Users\Nick\Documents\ReadIns\NC_000852.gbk") 进行排序。我刚刚了解到,在读取文件路径时,c++ 无法识别单个反斜杠。我正在读取大约 3500 个文件路径,因此手动更改每个路径都过于繁琐。
我有这个for 循环,它找到单个反斜杠并在该索引处插入一个双反斜杠。这个:
string line = "C:\Users\Nick\Documents\ReadIns\NC_000852.gbk";
for (unsigned int i = 0; i < filepath.size(); i++) {
if(filepath[i] == '\') {
filepath.insert(i, '\');
}
}
但是,c++,特别是在 c::b 上,由于反斜杠字符而无法编译。有没有办法在函数中添加额外的反斜杠字符?
我正在从文本文件中读取文件路径,因此它们被读入string filepath 变量,这只是一个测试。
【问题讨论】:
-
我怀疑您必须使用自己喜欢的文本编辑器或其他工具(例如
sed)来修改文件路径。 -
在记事本中搜索和替换怎么样?
-
@marco 哇,我完全没想到。效果很好。
-
请注意,标准路径分隔符
/适用于 Windows,因此您只需将:C:\Users\Nick\Documents\ReadIns\NC_000852.gbk更改为C:/Users/Nick/Documents/ReadIns/NC_000852.gbk。