C 库 - fputs() 函数



C 库 int fputs(const char *str, FILE *stream) 函数将字符串写入指定的流,直到但不包括空字符。它通常用于将文本写入文件。

语法

以下是 C 库 fputs() 函数的语法:

int fputs(const char *str, FILE *stream);

参数

此函数接受两个参数:

  • const char *str: 指向要写入文件的以空字符结尾的字符串的指针。
  • FILE *stream: 指向 FILE 对象的指针,该对象标识要写入字符串的流。该流可以是打开的文件或任何其他标准输入/输出流。

返回值

成功时,fputs 返回非负值。发生错误时,它返回 EOF (-1),并且流的错误指示器被设置。

示例 1:将字符串写入文件

此示例将简单的字符串写入文本文件。

以下是 C 库 fputs() 函数的示例。

#include <stdio.h>

int main() {
    FILE *file = fopen("example1.txt", "w");
    if (file == NULL) {
        perror("Failed to open file");
        return 1;
    }
    
    if (fputs("Hello, World!\n", file) == EOF) {
        perror("Failed to write to file");
        fclose(file);
        return 1;
    }
    
    fclose(file);
    return 0;
}

输出

以上代码打开一个名为 example1.txt 的文件以进行写入,将“Hello, World!”写入其中,然后关闭该文件。

Hello, World!

示例 2:将多行写入文件

此示例使用循环中的 fputs 将多行写入文件。

#include <stdio.h>

int main() {
    FILE *file = fopen("example3.txt", "w");
    if (file == NULL) {
        perror("Failed to open file");
        return 1;
    }
    
    const char *lines[] = {
        "First line\n",
        "Second line\n",
        "Third line\n"
    };
    
    for (int i = 0; i < 3; ++i) {
        if (fputs(lines[i], file) == EOF) {
            perror("Failed to write to file");
            fclose(file);
            return 1;
        }
    }
    
    fclose(file);
    return 0;
}

输出

执行以上代码后,它通过迭代字符串数组并在每次迭代中使用 fputs 将三行不同的内容写入 example3.txt。

First line
Second line
Third line
广告