同学,你基础不是很好哦。
char* ch = new char 的意思是 定义一个char* 类型的变量 ch,ch指向的类型为char型,是一个指针。 new char 是新分配一个字节的空间,即一个char类型的空间,一个byte,让ch指向这个地址。你只给ch分配了一个字节的空间地址,怎么让其从文件内读入最多1000000个字符并且存在ch指向的内存地址中呢?
new char是从堆中分配内存。建议你先直接定义 char ch[1000000]这样的,从栈中固定分配内存即可。适合初学者。。。 另外1000000太大 不要这样做
getline需要一个提前申请好的有足够大小放置读取的内容大小的缓冲取。
C++ 读取一行可以用
istream is;
string str;
getline(is, str);
char *ch=new char[1000000];
char *ch = new char[大小]
你没有指明你需要创建多大的空间啊。呵呵