上述代码 不使用getline
时间: 2024-03-16 11:41:51 浏览: 108
cpp代码-C++登录程序
好的,如果不使用getline函数,我们可以使用ifstream的get函数逐个字符读取文件,读到换行符时将该行写入到目标文件中。具体实现过程如下:
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream inFile("input.txt");
ofstream outFile("output.txt");
char ch;
string line = "";
while (inFile.get(ch)) {
if (ch == '\n') { // 当读到换行符时,将该行写入到目标文件中
outFile << line << endl;
line = "";
}
else {
line += ch; // 将读到的字符加入到当前行中
}
}
if (line != "") { // 处理最后一行
outFile << line << endl;
}
inFile.close();
outFile.close();
return 0;
}
```
以上代码中,我们使用 ifstream 打开源文件,使用 ofstream 打开目标文件。然后,我们使用 get 函数逐个字符读取源文件的内容,将读到的字符加入到当前行中。当读到换行符时,我们将该行写入到目标文件中。需要注意的是,在处理最后一行时,我们需要单独处理,因为该行可能没有换行符。同时,我们在程序结束时需要关闭文件流。
阅读全文