我想完成一個程式,它可以在檔案中找到一個字串,然后在字串存在的行尾輸出一個字符“T”。我的代碼如下(在這個例子中我只找到一個字串“33”):
std::fstream f("D://test.txt");
char buff[256];
while(f.getline(buff,256)){
if(strstr(buff,"33")!= nullptr){
std::cout<<buff<<std::endl;
f.unget();//point to space
f.unget();//point to end of this line
f.seekp(f.tellg());
f<<'T';
break;
}
}
但它運行錯誤,如圖所示。是
什么導致這個故障?而原始 test.txt 就像:
value:32 char:
value:33 char:!
value:34 char:"
value:35 char:#
value:36 char:$
value:37 char:%
value:38 char:&
value:39 char:'
我想要得到的效果就像:
value:32 char:
value:33 char:T
value:34 char:"
...
uj5u.com熱心網友回復:
好!感謝“Igor Tandetnik”的評論。我在 vs 2022 中嘗試了 mycode,它運行良好。實際上,我在開始時使用 mingw 和 clion 運行我的代碼。我認為這可能是mingw的一個錯誤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/472204.html
下一篇:在類的兩個物件之間使用佇列
