目录
一、文件的打开与关闭
(一)文件指针
(二) 文件的打开和关闭
二、文件的顺序读写
(一)fputc
1. 介绍
2. 举例
(二)fgetc
1. 介绍
2. 举例1
3. 举例2
(三) fputs
1. 介绍
2. 举例
(四)fgets
1. 介绍
2. 举例
(五)fprintf
1. 介绍
2. 举例
(六)fscanf
1. 介绍
2. 举例
(七)区分scanf,printf;fscanf,fprintf;sscanf,sprintf
FILE* pf;//文件指针变量
#define _CRT_SECURE_NO_WARNINGS 1
#include
int main()
{//打开文件FILE* pf = fopen("C:\\Users\\86173\\Desktop\\data.txt", "r");if (pf == NULL){perror("fopen");return 1;}//关闭文件fclose(pf);pf = NULL;return 0;
}
功能 | 函数名 | 适用于 |
字符输入函数 | fgetc | 所有输入流 |
字符输出函数 | fputc | 所有输出流 |
文本行输入函数 | fgets | 所有输入流 |
文本行输出函数 | fputs | 所有输出流 |
格式化输入函数 | fscanf | 所有输入流 |
格式化输出函数 | fprintf | 所有输出流 |
二进制输入 | fread | 文件 |
二进制输出 | fwrite | 文件 |
int fputc( int c, FILE *stream );
#define _CRT_SECURE_NO_WARNINGS 1
#include
int main()
{//打开文件FILE* pf = fopen("C:\\Users\\86173\\Desktop\\data.txt", "w");if (pf == NULL){perror("fopen");return 1;}//写文件---输出操作fputc('g', pf);fputc('h', pf);//关闭文件fclose(pf);pf = NULL;return 0;
}
int fgetc( FILE *stream );//读取错误或者读到文件末尾返回EOF//读取正确返回字符的assic码值
#define _CRT_SECURE_NO_WARNINGS 1
#include
int main()
{//打开文件FILE* pf = fopen("C:\\Users\\86173\\Desktop\\data.txt", "r");if (pf == NULL){perror("fopen");return 1;}//读文件---输入操作int ch = 0;while ((ch=fgetc(pf))!=EOF){printf("%c ", ch);}//关闭文件fclose(pf);pf = NULL;return 0;
}
int fputs( const char *string, FILE *stream );
#define _CRT_SECURE_NO_WARNINGS 1
#include
int main()
{//打开文件FILE* pf = fopen("C:\\Users\\86173\\Desktop\\data.txt", "w");if (pf == NULL){perror("fopen");return 1;}//写文件---写一行fputs("qaz",pf);fputs("wsx", pf);//关闭文件fclose(pf);pf = NULL;return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include
int main()
{char arr[200] = "xxxx";//打开文件FILE* pf = fopen("C:\\Users\\86173\\Desktop\\data.txt", "r");if (pf == NULL){perror("fopen");return 1;}//读文件---读一行fgets(arr, 3, pf);printf("%s", arr);/*while (fgets(arr, 199, pf) != NULL){printf("%s", arr);}*///关闭文件fclose(pf);pf = NULL;return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include
struct Stu
{char name[20];//姓名int age;//年龄double d;//分数
};
int main()
{struct Stu s = { "张三",19,78.6 };//打开文件FILE* pf = fopen("C:\\Users\\86173\\Desktop\\data.txt", "w");if (pf == NULL){perror("fopen");return 1;}//写文件fprintf(pf, "%s %d %lf", s.name, s.age, s.d);//关闭文件fclose(pf);pf = NULL;return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include
struct Stu
{char name[20];//姓名int age;//年龄double d;//分数
};
int main()
{struct Stu s = { "张三",19,78.6 };//打开文件FILE* pf = fopen("C:\\Users\\86173\\Desktop\\data.txt", "r");if (pf == NULL){perror("fopen");return 1;}//读文件//类比scanf("%s %d %lf", s.name, &(s.age), &(s.d));fscanf(pf,"%s %d %lf", s.name, &(s.age), &(s.d));printf("%s %d %lf", s.name, s.age, s.d);//关闭文件fclose(pf);pf = NULL;return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include
struct Stu
{char name[20];//姓名int age;//年龄double d;//分数
};
int main()
{struct Stu s = { "张三",21,47.7 };char buf[200] = { 0 };struct Stu tmp = { 0 };sprintf(buf, "%s %d %lf", s.name, s.age, s.d);printf("%s\n", buf);//从buf字符串中提取结构体数据sscanf(buf, "%s %d %lf", tmp.name, &(tmp.age), &(tmp.d));printf("%s %d %lf", tmp.name, tmp.age, tmp.d);return 0;
}