我需要帮助从。txt文件上的c++阅读。我编写的代码应该接受命令行参数,其中一个是文件名,读取文件,将其内容存储在字符串中,并将该字符串的内容打印为输出。我使用的是Ubuntu WSL 2终端。每当我运行代码时,它都会使用参数接收命令并打开文件,但不会打印任何内容。我不知道该怎么办。
#include <bits/stdc++.h>
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main(int argc, char** argv){
string filename = argv[1];
cout << filename << endl;
string myText;
ifstream myReadFile;
myReadFile.open(filename);
while(getline (myReadFile, myText)){
cout << myText;
}
cout << "Why is my code not doing what it is meant to?" << endl;
myReadFile.close();
return 0;
}
这是文件中应该使用cout
打印出来的内容。
The man in the mirror does not exist.
从流中读取行的惯用方法是:
ifstream filein(filename);
for (string line; getline(filein, line); )
{
cout << line << endl;
}
指出:
无
close()
。当你习惯地使用c++时,c++会为你负责资源管理。使用空闲的
getline
,不使用流成员函数