关于将数据写入文本文件中却输出一堆汉字屯……的问题

img

img

img

img


字符串最后要以\0结尾否则会输出一堆汉字,但我这是一个个字符的输入输出而不是字符串为什么还会出现一堆汉字呢

第二个while上面加fseek(fp, 0, SEEK_SET);

第二个while前面加上 rewind(fp);这句

缺了一个头文件,缺了文件的位置指针重新定位到文件的开始位置,修改如下,供参考:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE* fp;
    char ch;
    fp = fopen("E:\\c语言学习\\文件的学习\\CV.txt", "a+");
    if (fp == 0)
    {
        printf("file error\n");
        exit(1);
    }
    printf("enter a text(end with '#')\n");
    ch = getchar();
    while (ch != '#')
    {
        fputc(ch, fp);
        ch = getchar();
    }
    rewind(fp);//修改
    while ((ch = fgetc(fp)) != EOF)
    {
        putchar(ch);
    }
    putchar('\n');
    fclose(fp);
    return 0;
}