C语言之文件读写

认真读完下面的程序,相信你一定能学会C语言文件常见操作

//C语言文件读写操作。
#include<stdio.h>
#include<stdlib.h>
int main(){
	FILE *fp;
	char s[20];
	char ch;
	fp=fopen("./text/test.txt","w+");//这里./表示当前路径;
	//../上一个路径,../../上两个路径,./test/往下路径
	//windows中绝对路径2中方式:反斜杠:D:\opencv\,斜杠:D:/opencv/都可以;
	//windows中网络路径用/
	//windows使用斜杆/作为DOS命令提示符的参数标志了,为了不混淆,所以采用反斜杠\作为路径分隔符
	if(!fp){
		printf("Creat text failed!\n");
		exit(0);
	}
	fprintf(fp,"Hello world!");
	fputc('\n',fp);//换行符占2字节,相当于\r\n
	fputc('a',fp);

	fseek(fp,-1L,2);//最后一个参数0(或SEEK_SET)代表文件首部,对应第二个参数为正偏移(L代表是long型数据);
	//最后一个参数为1(SEEK_CUR),当前位置;
	//最后一个参数为2(SEEK_END),文尾;
	//ftell(fp);--返回当前指针位置相对文首偏移,出错返回-1L;
	fscanf(fp,"%s",s);
	printf("%s\n",s);
	//**************创建test2.txt,复制test.txt*************
	FILE *fp2;
	if((fp2=fopen("test2.txt","w"))==NULL){
		printf("Creat file failed!\n");
		exit(0);
	}

	//下面开始复制
	rewind(fp);//rewind:返回文件读写首地址
	//fclose(fp);
	//fp=fopen("./text/test.txt","r");
	while(feof(fp)==0){ //feof(fp):判断文件指针是否到达末尾,返回非0结束位置,0未结束。
		ch=fgetc(fp);
		//printf("%d ",feof(fp));
		if(ch!=EOF)
			fputc(ch,fp2);
		//fputc(fgetc(fp),fp2);
	}
	if(fclose(fp2)){
		printf("Can't close file!\n");
		exit(0);
	}

	if(fclose(fp)){
		printf("Can't close file!\n");
		exit(0);
	}
	return 0; 
}
//除此之外,还有fputs(s,fp)
//fgets(s,n,fp)---n为读取n-1位的字符,最后一位给'\0'
//fread(buffer,size,count,fp);
//***********数据块操作方式********
//fwrite(buffer,size,count,fp);
//buffer为字符串地址,size为数据块字节数,count为数据块数量

不足之处,请多多指教。互相学习,互相进步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值