C语言文件题?

Python06

C语言文件题?,第1张

#include <stdio.h>

#define MAXSIZE 1024

int main(void)

{

    char fileName[MAXSIZE]

    char buf[MAXSIZE]

    FILE* file

    printf("Please input filename: ")

    gets(fileName)

    printf("Please input some characters: ")

    gets(buf)

    if( (file = fopen(fileName, "w")) == NULL ){

        printf("Open file error!\n")

    }else{

        fprintf(file, "%s", buf)

    }

    return 0

}

/*头文件,包含的函数库, stdio.h是C语言的输入输出库,里面有最常见的函数,你需要某个函数时可以man一下,上面有函数功能介绍和函数使用方法、即需要引用的头文件。*/

#include <stdio.h>

/*函数入口,C语言程序执行程序是从main函数开始执行的*/

main ()

{

/*定义一个文件标识号指针,后面用fopen函数打开某个文件时,该指针会指向文件的内容*/

FILE *fp

/*定义一个整形数 i 和k,一个容量为6的整形数组a,其首地址为a*/

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

/*fopen函数:函数功能: 打开一个文件

函数原型:FILE * fopen(const char * path,const char * mode)

相关函数:open,fclose,fopen_s[1] ,_wfopen

所需库: <stdio.h>

返回值: 文件顺利打开后,指向该流的文件指针就会被返回。若果文件打开失败则返回NULL,并把错误代码存在errno 中。

一般而言,打开文件后会作一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以在fopen()后请作错误判断及处理

*/

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

/*将数组a首地址存的一个整数a[0]输入到文件指针fp所指向的data.dat文件里面*/

fprintf(fp,"%d\n",a[0])

for (i=1i<6i++)

{

/*

函数名: fseek

功 能: 重定位流上的文件指针

用 法: int fseek(FILE *stream, long offset, int fromwhere)

描 述: 函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset个字 节的位置。如果执行失败(比如offset超过文件自身大小),则不改变 stream指向的位置。

*/

fseek(fp,0L,0)

/*这里是通过文件指针fp,在文件data.dat中读取一个整数写到k中*/

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

/*将文件指针偏移到文件首地址*/

fseek(fp,0L,0)

/*通过for循环,将数组a中第二个数到第六个数加上k后再写入到文件中*/

fprintf(fp,"%d\n",a[i]+k)

}

rewind(fp)

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

fclose(fp)

printf("%d\n",k)

}