🚩write in front🚩
🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎
🏅2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~2022博客之星Top63~作者周榜84﹣作者总榜704~阿里云专家博主 & 阿里云星级博主~掘金优秀创作者⇿InfoQ创作者⇿51CTO红人⇿全网访问量50w+🏅
🆔本文由 謓泽 原创 如需转载还请通知⚠
📝个人主页-謓泽51Ctop的博客📃
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
📣系列专栏-謓泽51Ctop的博客_【C语言】从0~1_51CTO博客🎓
✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩
🍑🍑🍑文件操作函数代码示例🍑🍑🍑
🍓🍓 fgetc() 代码示例🍓🍓
那么与之相反的 fgetc() 就适合与输入流,那么我们这次就用"r"进行读文件,本身也是用这个来进行读文件的。代码示例如下↓
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
FILE* pf = fopen("test.txt", "r");
//返回值判断
if (pf == NULL)
{
perror("fopen");
return 1;//返回
}
//读文件
for (int i = 0; i < 10; i++)
{
int ret = fgetc(pf);
printf("%c", ret);
}
//关闭文件
fclose(pf);
pf = NULL;
return 0;
}
聪明的小伙伴想到了没有,多个直接用循环即可。但是🍅fgetc()🍅必须要包含到循环。
运行结果🖊
Cyuyanyyds,注意:这里我们的 test.txt 文件是 Cyuyanyyds。
单个直接这样即可(☆-v-),张三你明白了没。张三:属实get到了(ノ*・ω・)ノ
int ret = fgetc(pf);
printf("%c", ret);
🍓🍓fputs() 写入"字符串"🍓🍓
当然还有些函数例如下↓
fputs() → 可以写入文件按照一行进行写入"字符串" 。
fputs("Cyuyan\n",pf);
fputs("ttdyyyds\n",pf);
改变下这个以及写入的是写入是 "w" 即可 !( •̀ .̫ •́ )✧
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
struct student
{
char name[20];//学生名字
char sex[5];//学生性别
char id[20];//学生学号
int age;//学生年龄
};
int main(void)
{
struct student s = { "zhangsan", "nan", "10", 18 };
FILE* pf = fopen("test.txt", "w");
//返回值判断
if (pf == NULL)
{
perror("fopen");
return 1;//返回
}
//写文件
fprintf(pf,"%s %s %s %d",s.name, s.sex, s.id, s.age);
//关闭文件
fclose(pf);
pf = NULL;
return 0;
}
从上述截屏当中我们成功的用 🍅fprintf()🍅 进行了格式化输出(*^-^*)
张三:你该不会是自己加上去的吧(doge~),我:🔥🔥🔥
当然,如果你要达到换行的效果也是可以的加在'\n'换行符即可。
🍓🍓fscanf()格式化输入函数🍓🍓
如果你会用上面的格式化输出函数,那么这个函数也就会了。
📢fscanf() 函数声明方式如下↓
int fscanf ( FILE * stream, const char * format, ... );
从流中读取格式化数据。
从流中读取数据,并根据参数格式将其存储到附加参数所指向的位置。附加的参数应该指向已经分配的对象,其类型由格式字符串中相应的格式说明符指定。
- 参数如下↓
stream→指向FILE对象的指针,该对象标识要从中读取数据的输入流。
format→C语言当中的字符串,包含一个字符序列,控制如何处理从流中提取的字符.....
那么现在我们进行读文件。示例代码如下↓
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
struct student
{
char name[20];//学生名字
char sex[5];//学生性别
char id[20];//学生学号
int age;//学生年龄
};
int main(void)
{
struct student s = {"张三","你好","嗯",886};
FILE* pf = fopen("test.txt", "r");
//返回值判断
if (pf == NULL)
{
perror("fopen");
return 1;//返回
}
//读文件
fscanf(pf,"%s %s %s %d",s.name,s.sex,s.id,&(s.age));
//打印
printf("%s %s %s %d", s.name, s.sex, s.id, s.age);
//关闭文件
fclose(pf);
pf = NULL;
return 0;
}