新手上路!!
某大二新生的C语言的学习历程
文章主要以文件操作的方法进行分享,相关函数的使用方法将放在结尾
指针学习总结
1. 文件操作基础
1.1 定义一个文件指针
#include<stdio.h>
int main()
{
FILE* fp;//定义一个文件指针
return 0;
}
1.2 打开文件
1.2.1 打开文件函数
#include<stdio.h>
int main()
{
//fopen(char *fileURL,char *mode);
return 0;
}
1.2.2 读写方式
w: write 只写模式
r: read 只读
a: append 追加
------------------------------
b: binary 二进制
+: 可读可写
w+ r+ a+ wb+ rb+ ab+
细致区别: w+ r+ a+
w: 清空原文件,文件不存在具有创建功能
a: 在原文件的后面
重要规则:怎么写怎么读
1.3 关闭文件函数
#include<wtdio.h>
int main()
{
//fclose(FILE* fp);
return 0;
}
2. 以字符和字符串的方式读写
2.1 以字符的方式读写
#include<stdio.h>
int main()
{
//写入文件
char str[] = "Hello World"; //定义写入文件的数组
FILE* write = fopen("1.txt", "w");//创建一个文件指针
int i = 0; //定义一个控制循环的变量
while (str[i] != '\0') //将字符串写入文件
{
fputc(str[i], write);
i++;
}
fclose(write); //关闭文件
//读取文件
FILE* read = fopen("1.txt", "r");//创建一个文件指针
if (read == NULL) //读取文件指针时最好先判断文件指针是否为空
{ //以免出现无法预知的错误
printf("打开文件失败");
return 0;
}
int date = fgetc(read); //定义一个变量接收从文件指针中获取的字符
while (date != EOF) //创建循环使文件中的字符显示到页面上
{
putchar(date);
date = fgetc(read);
}
fclose(read); //关闭文件
return 0;
}
2.2 以字符串的方式读写
#include<stdio.h>
int main()
{
char str[] = "Hello World\nHow are you\nFine,thank you\n";//定义写入的字符串
FILE* write = fopen("1.txt", "w"); //定义文件指针
fputs(str, write); //将字符串写入
fclose(write); //关闭文件
FILE* read = fopen("1.txt", "r"); //定义文件指针
char readStr[10][1024] = { "" }; //定义一个二维数组存储接受的字符串
if (read == NULL) //判断是否为空
{
printf("打开文件失败");
return 0;
}
int i = 0; //定义变量读取每一行的字符串
while (!feof(read)) //feof()判断文件结束标记函数
{
fgets(readStr[i++], 1024, read);
}
for (int j = 0; j < 3; j++) //输出到屏幕上
{
printf("%s", readStr[j]);
}
fclose(read);
system("pause");
return 0;
}
3.格式化读写
#include<stdio.h>
struct Students //创建一个结构体
{
int num;
char name[20];
int age;
};
int main()
{
//文件写入
struct Students students[2] = { 15,"小高",19,22,"小黄",21 };//初始化结构体
FILE* write = fopen("1.txt", "w");//定义一个文件指针
for (int i = 0; i < 2; i++)//把结构体数据制成表格存入文件指针所指的文件中
fprintf(write, "%d\t%s\t%d\n", students[i].num, students[i].name, students[i].age);
fclose(write);//关闭文件
//文件读取
FILE* read = fopen("1.txt", "r"); //创建一个文件指针
if (read == NULL) //对指针进行判空处理
{
printf("打开失败");
return 0;
}
struct Students tempstu; //定义临时变量存储数据
//将数据输出到屏幕上
while (fscanf(read, "%d\t%s\t%d\n", &tempstu.num, tempstu.name, &tempstu.age) != EOF)
printf("%d\t%s\t%d\n", tempstu.num, tempstu.name, tempstu.age);
fclose(read);
return 0;
}
结语
本来想着一篇文章总结完C语言文件操作的知识点,没想到一肝就是一晚上,第一次写博客希望大家能点赞支持一下呀,也欢迎大家留下你们的评论。