我试图浏览.txt文件的内容,以便将其与用户的int输入进行比较,并找到匹配的值,然后将其写入的行删除。 该文件不只有数值。 该文件包含的内容的示例: “你好世界505” “ hello world 506”等。
到目前为止,我的代码能够进行比较(行的长度不同),但是我不知道如何将文件指针移动到找到所述值的行。有帮助吗?
void comparisoniD2 (int a) {
int x[ countLinesOf() ];
ifstream readFile;
readFile.open("ClientList.txt");
string str;
for (int i = 0; i< countLinesOf();i++){
while (getline(readFile, str)) {
reverseStr2(str);
str.erase(3);
reverseStr2(str);
stringstream geek(str);
geek >> x[i];
if( x[i]==a ){
cout<<a<<" is equal to "<<x[i]<<endl;
break;
}
}
}
readFile.close();
}
答案 0 :(得分:1)
如果要在同一文件中执行此操作,则会有些困难。
例如,您可以打开同一文件两次:读取字符串和保存字符串。 您的周期是:读取字符串,保存字符串(如果其中不包含合适的数字)。
另一个麻烦是将文件切成较小的尺寸。您可以使用boost :: filesystem或本机api。