在C语言中,文件操作是常见的编程任务之一。在处理文件时,程序员通常会使用一些标准库函数来实现读写操作。在本文中,我们将重点比较 fputc、fputs 和 fgetc、fgets 这四个文件操作函数,了解它们之间的异同。
fputc 和 fputs
1. fputc
fputc 函数用于将一个字符写入文件。其函数原型如下:
int fputc(int character, FILE *stream);
character 是要写入文件的字符,而 stream 是指向 FILE 结构的指针,表示要写入的文件。
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "w");
if (file != NULL) {
fputc('A', file);
fclose(file);
}
return 0;
}
上述示例将字符 ‘A’ 写入了名为 “example.txt” 的文件中。
2. fputs
fputs 函数用于将一个字符串写入文件。其函数原型如下:
int fputs(const char *str, FILE *stream);
str 是要写入文件的字符串,而 stream 是指向 FILE 结构的指针,表示要写入的文件。
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "w");
if (file != NULL) {
fputs("Hello, World!", file);
fclose(file);
}
return 0;
}
上述示例将字符串 “Hello, World!” 写入了名为 “example.txt” 的文件中。
fgetc 和 fgets
1. fgetc
fgetc 函数用于从文件中读取一个字符。其函数原型如下:
int fgetc(FILE *stream);
stream 是指向 FILE 结构的指针,表示要读取的文件。
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r");
if (file != NULL) {
int character = fgetc(file);
printf("%c\n", character);
fclose(file);
}
return 0;
}
上述示例从文件 “example.txt” 中读取一个字符并打印出来。
2. fgets
fgets 函数用于从文件中读取一行字符串。其函数原型如下:
char *fgets(char *str, int num, FILE *stream);
str 是一个指向字符数组的指针,用于存储读取的字符串;num 是要读取的最大字符数;stream 是指向 FILE 结构的指针,表示要读取的文件。
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r");
if (file != NULL) {
char buffer[100];
fgets(buffer, sizeof(buffer), file);
printf("%s", buffer);
fclose(file);
}
return 0;
}
上述示例从文件 “example.txt” 中读取一行字符串并打印出来。
总结
fputc和fputs用于写入,一个是写入单个字符,一个是写入字符串。fgetc和fgets用于读取,一个是读取单个字符,一个是读取一行字符串。
本文详细比较了C语言中的fputc和fputs用于写入字符和字符串,以及fgetc和fgets用于读取单字符和一行字符串的区别,帮助理解这些基本文件操作函数的用法和异同。

3938

被折叠的 条评论
为什么被折叠?



