写abcd只能在文件输出cd,写ac,只能读c,这是为什么😢
贴一下代码喽
看看你怎么写的,看似是正好只能读取一半,是不是下标搞错了。
上面贴的代码里面,while循环体的ch=getchar()多余了,因为这个ch获取了输入的值后没有写入文件,然后还容易导致输入结束异常;
去掉此行代码,然后在输入结束加上关闭文件的代码即可。
修改如下:
#include <stdio.h>
int main(void){
char ch ;
FILE * fp;
fp=fopen("F:\\save.txt","w");
while((ch=getchar() ) !='#'){
putc(ch,fp);
//ch=getchar(); //此行不需要
}
fclose(fp); // 写入完成后,关闭文件
return 0;
}