Day 31 C语言文件操作

1.fprintf函数:fprintf 是将源文件内的数据打印到文件中去,示例如下:

int fprintf(FILE *stream, const char *format, ...)

如果成功,则返回写入的字符总数,否则返回一个负数。

2.fscanf函数:fscanf函数是将文件的内容读取,然后给源文件的变量,用法如下:

int fscanf(FILE *stream, const char *format, ...)

如果成功,该函数返回成功匹配和赋值的个数。如果到达文件末尾或发生读错误,则返回 EOF。

3.ftell函数:ftell函数计算光标到开头的字节数:

long int ftell(FILE *stream)

返回一个int型结果。如果发生错误,则返回 -1L,全局变量 errno 被设置为一个正值

4.fseek函数:fseek函数会将光标移动到指定的地方,主要用于该变文件的内容,用法如下:

int fseek(FILE *stream, long int offset, int whence)

结合今天所学的内容,做了一个练习题,题目如下:

在两个文件中各输入一串字母,然后拼接排序后写到一个新的文件中,代码如下:

#include<stdio.h>

int main(){
    char temp;
	int s,k;
	int i=0;
	char l[30]={'\0'};
	char l1[30]={'\0'};
	FILE *pf=fopen("./fuck.txt","w+");
	FILE *pv=fopen("./fuck1.txt","w+");
	FILE *po=fopen("./fuck2.txt","w+");
	if(pf==NULL || pv==NULL || po==NULL){
		printf("error");
	}
	fputs("abfgj",pf);
	fputs("fghij",pv);
	rewind(pf);
	fscanf(pf,"%s",l);
	puts(l);
	rewind(pv);
	fscanf(pv,"%s",l1);
	strcat(l,l1);
	int d=strlen(l);
	for(s=0;s<d-1;s++){
		for(k=0;k<d-1-s;k++){
			if(l[k]>l[k+1]){
				temp=l[k];
				l[k]=l[k+1];
				l[k+1]=temp;
			}
		}
	}
	fprintf(po,"%s",l);
	return 0;
}

运行结果如下:

注意打开文件时的文件路径问题,不要写错,不然排错很困难,然后,取出 字符串后用strcat函数拼接,送到第三个数组中,然后写入一个新的文件就好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值