在C++中读写文件

Read & Write File in C++

本文关键字:文件 读写 C++      更新时间:2023-10-16

我设法写入文本文件,但我的读取文件出了问题。下面是我的代码:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
    string line, s;
    ofstream out_file;
    out_file.open("hello.txt");
    for(int count = 0; count< 5; count++)
    {
        out_file << "Hello, World" << endl;
    }
    out_file.close();
    ifstream in_file;
    in_file.open("hello.txt");
    if (in_file.fail())
    {
        cout << "File opening error. " << endl;
    }
    else
    {
        while(getline(in_file,line))
        {
            in_file >> s;
            cout << s << endl;
        }
    }
    in_file.close();
    system("Pause");
    return 0;
}

我设法写了5次"Hello, World"到一个文本文件。然而,当程序运行时,它只打印了4次"Hello"和第5行"World"。从我的代码,它不是应该打印出"Hello, World"5次吗?有人能指出错误在哪里吗?

  while(getline(in_file,line))
{
    in_file >> s;
    cout << s << endl;
}
应:

while(getline(in_file,line))
{
    cout <<line<< endl;
}

因为您从文件中读取到line,而不是s。所以你应该打印line里面的内容。

读取文件时使用Getline并使用操作符>>

你应该试试

while(getline(in_file,line))
{
    cout << line << endl;
}