目录
1 fgetc函数详解
1.1 从文件流中读取数据
1.2 从标准输入流中读取数据
2 fputc函数详解
2.1 向文件流中写入数据
2.2 向标准输出流中写入数据
1 fgetc函数详解
头文件:stdio.h
该函数只有一个参数:stream
作用:从输入流中获得一个字符,适用于所有输入流.
若成功读取则返回读取到的字符,若遇到文件结尾或读取失败则返回EOF
演示:
1.1 从文件流中读取数据
#include <stdio.h>
int main()
{//打开文件FILE* pf = fopen("date.txt", "r");//检查是否成功打开文件if (pf == NULL){perror("fopen");return 1;}//操作文件int a = 0;while ((a=fgetc(pf))!= EOF){printf("%c", a);}//关闭文件fclose(pf);pf = NULL;return 0;
}
可见我们成功从date.txt文件中读取到了数据,fgetc读到文件末尾,返回EOF因此,读取结束。
1.2 从标准输入流中读取数据
#include <stdio.h>
int main()
{char arr[10] = { 0 };int i = 0;
//从标准输入流中输入数据到arrfor (i = 0; i < 10; i++){arr[i] = fgetc(stdin);}
//打印出arrfor (i = 0; i < 10; i++){printf("%c", arr[i]);}return 0;
}
可见fgetc不会跳过空格,会将一个一个的将字符读取过来
2 fputc函数详解
头文件:stdio.h
函数有两个参数:charactor和stream
作用:将charactor写到stream中,适用于所有输出输出
若成功写入则返回写于的值,若写入失败则返回EOF
演示:
2.1 向文件流中写入数据
#include <stdio.h>
int main()
{//已写的模式打开文件FILE* pf = fopen("date.txt", "w");//检查是否成功打开文件if (pf == NULL){perror("fopen");return 1;}//向文件中写入数据char temp = 0;for (temp = 'a'; temp <= 'z'; temp++){fputc(temp, pf);}//关闭文件fclose(pf);pf = NULL;return 0;
}
以‘w’的模式打开文件;若没有date.txt文件,会自己创建一个,若有该文件则清空原内容在进行数据的输入。这里我们完成了字符的输入。
2.2 向标准输出流中写入数据
#include <stdio.h>
int main()
{char arr[11] = "abcdefghig";int i = 0;for (i = 0; i < 10; i++){fputc(arr[i], stdout);}return 0;
}
arr中的数据被打印到了标准输出流上。
感谢观看,欢迎在评论区讨论。