#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)
}
#include <stdio.h>#include <stdlib.h>
#include <string.h>
void filecomp(FILE* fp1, FILE* fp2)
{
char s1[100],s2[100]
int find=0
while(1)
{
memset(s1,'\0',100)
memset(s2,'\0',100)
fscanf(fp1,"%[^\n]",s1)
fscanf(fp2,"%[^\n]",s2)
fgetc(fp1)
fgetc(fp2)
if(strcmp(s1,s2)!=0)
{
printf("\n%s %s",s1,s2)
find=1
break
}
if(feof(fp1) || feof(fp2))
{
fclose(fp1)
fclose(fp2)
break
}
}
if(find==0)
{
printf("\n未发现不同\n")
}
}
int main()
{
FILE *fp1,*fp2
fp1=fopen("f:\\a.txt","r")
fp2=fopen("f:\\b.txt","r")
if(fp1!=NULL && fp2!=NULL)
{
filecomp(fp1,fp2)
}
else
{
printf("file open error!\n")
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)