我对编程很陌生,这是我的问题。我需要做一个文本编辑器(类似于微软记事本,但更简单)。我试图一步一步地做,就像我需要打开文件,然后阅读它等等。但是这段代码清除了我的程序,我无法正确理解我如何逐行阅读(可能使用for或while)。感谢
#include <iostream>
#include <fstream>
using namespace std;
/*
void openFile()
{
ofstream file2("text2.txt"); // create and open text file
file2 << "Hello there"; // write in file
file2.close(); // close file
}
*/
void readFile(char text[4050])
{
ifstream file("text2.txt"); // read from file
if (!file.is_open()) // if file is not opened then write "file is not found". else
cout << "File is not found!" << endl;
else
{
file.getline(text, 4050); // to where(text), max symbols(4050)
cout << text << endl;
file.close();
}
}
using namespace std;
int main()
{
char text[4050];
ofstream file2("text2.txt");
readFile(text);
return 0;
}
我的代码可能错误而且很奇怪,但是一旦我弄明白了,我会尽力修复它。
答案 0 :(得分:2)
这是逐行读取文件的最简单方法。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main () {
string line;
ifstream myfile ("MyFile.txt");
if (myfile.is_open()) {
while ( getline (myfile,line) ) {
cout << line << '\n';
}
myfile.close();
}
else {
cout << "Unable to open file";
}
return 0;
}