目录
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;
//从标准输入流中输入数据到arr
for (i = 0; i < 10; i++)
{
arr[i] = fgetc(stdin);
}
//打印出arr
for (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中的数据被打印到了标准输出流上。
感谢观看,欢迎在评论区讨论。