我正在尝试读取仅包含字符串的文本文件。它正在编译和打开,但在读取时只显示与文件中的字符完全无关的垃圾。
任何人都可以看到有什么问题吗?
#include <iostream>
#include <fstream>
using namespace std;
fstream myfile;
char* input;
void main(void)
{
myfile.open("H://fstream_test.txt", fstream::in);
if(myfile.fail())
{
cout<<"error"; exit(0);
}
cout<<"file is open";
int beginning = myfile.tellg();
myfile.seekg(0, fstream::end);
int end = myfile.tellg();
int size = end-beginning;
cout<<size; //returns 15
input = new char[size];
myfile.read(input,size);
cout<<input;
//returns junk
//for(int i=0;i<size;i++)
//cout<<input[i];
//returns the same;
}
结束编辑为:
input = new char[size];
myfile.seekg(0, fstream::beg);
while(!myfile.eof())
{
myfile.read(input,size);
}
cout<<input;
system("pause");