凌乱的输出-C ifstream

Messy output - c++ ifstream

本文关键字:ifstream 输出      更新时间:2023-10-16

无论如何是否有使其读取空间甚至输出的方式完全相同的方式?

ifstream myReadFile;
    myReadFile.open("Data.txt");
    system("cls");
    std::cout << "Wip" << std::endl;
    ifstream myReadFile;
    myReadFile.open("Data.txt");
    std::string output;
    std::getline(myReadFile, output);
    std::cout << output << "n";
    myReadFile.close();
    system("pause");
    return 0;

样本数据;

名称:Jobes Lobes
年龄:89
地址:9 Neuern_st Mucgregor Brosbane Australia

它只返回第一行有什么方法可以使其输出所有行?

operator >> ' ''n'等单独的输入数据,例如 scanf()。如果您想阅读整行,例如gets(),则应使用basic_istream<>::getlinestd::getline

std::string output;
std::getline(myReadFile, output);
std::cout << output << "n";

char output[100];
myReadFile.getline(output, sizeof(output) / sizeof(output[0]));
std::cout << output << "n";

使用std :: ifstream :: getline代替。

   myReadFile.getline(output, sizeof(output), 'n');
   std::cout << output << std::endl;

getline成员函数将输入分为' n',因此您可以在输出流的末尾安全地附加" endl"。

这是getline的文档:getline doc