fscanf
功能:读取文件内容 遇到空格结束
参数:
参数1:文件指针变量
参数2:格式转换符
参数3:输入列表
fprintf
功能:输出到文件
参数:
参数1:指针变量
参数2:格式转换符
参数3:输出列表
sscanf
功能:两个之间进行交换,遇到空格结束
参数:
参数1:指针变量
参数2:格式转换符
参数3:输入列表
将参数1的向参数3传
char str01[]="this is test sscanf buf.";
char str02[100]={0};
sscanf(str01,"%s",str02);
printf("%s\n",str01);
printf("%s\n",str02);
结果为:
sprintf
功能:两个之间进行交换
参数:
参数1:指针变量
参数2:格式转换符
参数3:输入列表
将参数3的向参数1传
char str[100]={0};
char str02[]="this is test sprintf buf.";
sprintf(str,"%s",str02);
printf("str的内容是:%s\n",str);
结果为:
fseek
功能:设置光标位置
参数:
参数1:文件指针
参数2:偏移量
参数:参考点
rewind
功能:将光标位置移动到开始位置
feof(pf)
功能:判断是否到达文件末尾
未到文件末尾,返回0
到达文件末尾,返回非零
文件结束后,存在一个结束标志,数值是-1
作业 :从两个不同文件中读取两串字符,讲这两串字符合并,并按照字母顺序进行排序,写入到第三文件中。
#include <stdio.h>
int main()
{
char str01[50];
char str02[20]="sddfgr";
char str03[20]="asdfd";
FILE *pf=NULL;
pf=fopen("test1.txt","w+"); //第一个文件写入
fputs(str02,pf);
rewind(pf);
fscanf(pf,"%s",str01);
fclose(pf);
// printf("%s\n",str01);
int n,m,i,j;
n=strlen(str01);
m=strlen(str03);
// printf("%d\n",n);
pf=fopen("test2.txt","w+"); //第二个文件写入
fputs(str03,pf);
rewind(pf);
char temp;
// char ch,temp;
// ch=fgetc(pf);
// for(i=n;i<m+n;i++){
// str01[i]=ch;
// ch=fgetc(pf);
// }
fscanf(pf,"%s",(str01+n)); //合并1,2到同一个字符串
fclose(pf);
//
// printf("%s\n",str01);
// n=strlen(str01);
// printf("%d\n",n);
// for(i=0;i<m+n;i++){
// printf("%c ",str01[i]);
// }
//排序
for(i=0;i<m+n-1;i++){
for(j=0;j<m+n-1-i;j++){
if(str01[j]>str01[j+1]){
temp=str01[j];
str01[j]=str01[j+1];
str01[j+1]=temp;
}
}
}
printf("%s\n",str01);
pf=fopen("test3.txt","w"); //合并后的字符串进行排序后写到一个文件中
fprintf(pf,"%s",str01);
fclose(pf);
return 0;
}