fputc,fputs,fprintf(),fwrite,哪些可以写入字符型数据,哪些不能输入;哪些可以输入数字,哪些不行?
时间: 2024-04-02 07:36:48 浏览: 23
fputc和fputs可以写入字符型数据,而fprintf和fwrite也可以写入字符型数据,但是它们还可以写入其他类型的数据。fputc和fputs不能输入数字,因为它们只能写入一个字符或字符串。而fprintf和fwrite可以输入数字,因为它们可以根据格式说明符将数字转换为字符串并写入文件。需要注意的是,fwrite写入时需要指定数据的大小和数量,而fprintf则需要指定格式说明符。
相关问题
区分fputc,fputs,fprintf 以及fwrite
这四个函数都可用于将数据写入文件,但是它们的使用方式和适用范围有所不同,下面分别简单说明一下:
1. fputc() 函数:用于将单个字符写入文件中。函数原型为:
```c
int fputc(int c, FILE *stream);
```
其中,c 表示要写入的字符,stream 表示要写入的文件指针。返回值为写入的字符,或者出现错误时返回 EOF。
2. fputs() 函数:用于将字符串写入文件中。函数原型为:
```c
int fputs(const char *str, FILE *stream);
```
其中,str 表示要写入的字符串,stream 表示要写入的文件指针。返回值为非负数表示成功,或者出现错误时返回 EOF。
3. fprintf() 函数:用于将格式化的数据写入文件中。函数原型为:
```c
int fprintf(FILE *stream, const char *format, ...);
```
其中,stream 表示要写入的文件指针,format 表示格式化字符串,后面的 ... 表示要写入的数据。返回值为写入的字符数,或者出现错误时返回负数。
4. fwrite() 函数:可用于将二进制数据写入文件中。函数原型为:
```c
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
```
其中,ptr 表示要写入的数据指针,size 表示每个数据的大小,count 表示要写入的数据个数,stream 表示要写入的文件指针。返回值为成功写入的数据个数。
总的来说,fputc() 和 fputs() 适用于写入文本文件,而 fwrite() 适用于写入二进制文件。而 fprintf() 则可用于写入各种类型的数据,包括文本和二进制数据。
fputc函数为什么可以讲整个文件的数据打出来?
fputc函数是将一个字符写入到文件中。如果我们使用fputc函数来循环写入每个字符,就可以将整个文件的数据打出来。具体实现如下:
```c
#include <stdio.h>
int main() {
FILE *fp;
char ch;
fp = fopen("example.txt", "r");
if (fp == NULL) {
printf("File open error\n");
return 1;
}
while ((ch = fgetc(fp)) != EOF) {
fputc(ch, stdout);
}
fclose(fp);
return 0;
}
```
在以上代码中,我们先使用fopen函数打开example.txt文件,并以只读方式打开。然后使用fgetc函数逐个读取文件中的字符,并将其写入到标准输出流stdout中,也就是屏幕上。最后使用fclose函数关闭文件。这样就可以将整个文件的数据打出来了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)