#include <stdio.h> main() { FILE *fp; int i, a[6]={1,2,3,4,5,6},k; #include<stdio.h> main()...

# include<stdio.h> main() { FILE *fp; int i,a[6]={1,2,3,4,5,6}; fp=fopen("d2.bat","w+");

FILE *fp; //\u6587\u4ef6\u6307\u9488

int i,a[6]={1,2,3,4,5,6};//\u4e00\u4e2aint\u53d8\u91cf\uff0c\u4e00\u4e2aint\u6570\u7ec4
fp=fopen("d2.bat","w+");//\u4ee5\u5199\u6a21\u5f0f\u6253\u5f00d2.bat\u6587\u4ef6
for(i=0;i<6;i++)
fprintf(fp,"%d\n",a[i]);//\u628aa\u6570\u7ec4\u5faa\u73af\u6253\u5370\u5230\u6587\u4ef6
rewind(fp);//\u6307\u9488\u590d\u4f4d
for(i=0;i<6;i++)
fscanf(fp,"%d",&a[5-i]);//\u5c06\u6587\u4ef6\u5185\u5bb9\u5012\u5e8f\u8f93\u51faa\u6570\u7ec4
fclose(fp);//\u5173\u95ed\u6587\u4ef6
for(i=0;i<6;i++)
printf("%d,",a[i]);//\u6253\u5370a\u6570\u7ec4

file
*fp;
//\u6587\u4ef6\u6307\u9488
int
i,a[6]={1,2,3,4,5,6};//\u4e00\u4e2aint\u53d8\u91cf\uff0c\u4e00\u4e2aint\u6570\u7ec4
fp=fopen("d2.bat","w+");//\u4ee5\u5199\u6a21\u5f0f\u6253\u5f00d2.bat\u6587\u4ef6
for(i=0;i<6;i++)
fprintf(fp,"%d\n",a[i]);//\u628aa\u6570\u7ec4\u5faa\u73af\u6253\u5370\u5230\u6587\u4ef6
rewind(fp);//\u6307\u9488\u590d\u4f4d
for(i=0;i<6;i++)
fscanf(fp,"%d",&a[5-i]);//\u5c06\u6587\u4ef6\u5185\u5bb9\u5012\u5e8f\u8f93\u51faa\u6570\u7ec4
fclose(fp);//\u5173\u95ed\u6587\u4ef6
for(i=0;i<6;i++)
printf("%d,",a[i]);//\u6253\u5370a\u6570\u7ec4

#include <stdio.h>


void main(void)

{

    FILE *fp; int i, a[6]={1,2,3,4,5,6},k;


    fp = fopen("data.dat", "w+");


    for (i=0; i<6; i++)

    {

        fseek(fp, 0L, 0);

        fprintf(fp, "%d
", a[i]);

    }


    rewind(fp);

    fscanf(fp, "%d", &k);

    fclose(fp);

    printf("%d
", k);

}

将你的程序整理了一下,才明白要怎么回答,写程序格式一定要注意,不然很难维护和看懂


该程序大致的意思是

  1. 以读写方式打开一个叫“data.dat”的文件,如果在与目标程序同一目录下有该文件,才该文件长度变0(即被截断),如果没有该文件,则创建一个

  2. 对该文件执行六次操作,第一次跳到文件开头,并写入a[0]即数字0,第二次又跳到文件开头,并写入a[1]即数字1,1将0覆盖了,以此类推,第六次还是跳到文件开头,并写入a[5]即数字6,6将上一个数字5给覆盖了

  3. rewind表示将文件指针重新指向“data.dat”的开头,在第2个操作中,文件指针fp指向了第二个字节的位置,所以需要重新指向第二个字节的位置,再用一次fseek(fp, 0L, 0);效果也一样

  4. fscanf表示将fp文件指针所指向的内容赋值于k,所以类同于k=6

  5. 打印k


这时打开"data.dat"文本,里面的内容就是6


你说你见过那种输出123456的题,恐怕长这样,仔细比对一下

#include <stdio.h>


void main(void)

{

    FILE *fp; int i, a[6]={1,2,3,4,5,6},k;


    fp = fopen("data.dat", "w+");


    for (i=0; i<6; i++)

    {

        #if 0

        fseek(fp, 0L, 0);

        fprintf(fp, "%d
", a[i]);

        #else

        fprintf(fp, "%d", a[i]);

        #endif

    }


    rewind(fp);

    fscanf(fp, "%d", &k); //注意编译器把int k当成是2字节还是4字节,4字节才可以存下12345678

    fclose(fp);

    printf("%d
", k);

}



扩展阅读:apple视频 ... apple日本网站 ... 欧洲applestore ... apple美国网站 ... www.sony.com.cn ... cn value测试 ... mac蜜桃奶茶314 ... 苹果官网登录入口 ... #lovecraftlocker ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网