问一下,这个一直不能把字符串输出出来,怎么回事?

#include<stdio.h>
#include<stdlib.h>
int main() {
    FILE * fp;
    char str[10],ch[10];
    int n=0,p=0,q=0;
    gets(str);
    if((fp=fopen("int_data.dat","a+"))==NULL)
    {   printf("Cant Open File!");
        exit(0);
    }
    fputs(str,fp);
    fputs("\n",fp);
    fgets(ch,10,fp);
    printf("%s",ch);
    fclose(fp);
    return 0;
}

 

fgetc语句前增加

fseek(fp, 0, SEEK_SET);

将文件指针移到开头,否则在末尾,读不到什么东西

用sprintf直接格式化char 数组