C语言文件操作---储存控制台输入的大量文字

各位大神!在C语言的文件操作中,我要写一段代码,用来储存一段文字,一般的方式为设定一个字符数组来暂时存放输入的字符,但是我要输入的内容溢出该数组后,存在txt文件中的数据就不完整了,【现在】,我要怎么设定一个【容器】来存放大量的文字才不会丢失数据?
我的原想法是:在控制台写上几百字,然后可以存在txt文档中。
请详细说明,或者给出代码演示!

第1个回答  2017-02-28
设置的字符数组大一点,比如char str[1000]; 作为缓冲区来用追问

试了......没用!
int main()
{
int i = 0;
FILE* fp = NULL;
char ch,filename[20],fileinfo[100];
printf("请输入15字以内的文件名:");
scanf("%s",filename);
if ((fp = fopen(filename,"w+")) == NULL)
{
printf("文件打开失败\n");
exit(0);
}

追答

我的意思是你用一个循环写一段内容按回车把这部分内容写到文件里,再重新赋值新的字符串再写到文件,来回循环,你可以通过给这个字符串赋特定的值代表结束,不如输入 "End" 结束,每次循环用strcmp函数检验

第2个回答  2017-02-28
只提供下我个人的想法。.用下malloc动态分配内存
相似回答