linux系统标准io,stdio.h

在 Linux 系统中,`stdio.h` 是 C 标准库中用于处理输入和输出的头文件,它提供了标准 I/O 函数的声明。这些函数包括文件操作、字符输入输出、字符串处理等功能。以下是一些 `stdio.h` 中最常用的函数和它们的用法:

文件操作函数

- `fopen`:打开一个文件并返回一个文件指针。

  FILE *fopen(const char *filename, const char *mode);
 

- `fclose`:关闭一个打开的文件。

  int fclose(FILE *stream);
 

- `fread`:从文件中读取数据。
  size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
 

- `fwrite`:将数据写入文件。

  size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
 

- `fseek`:设置文件的读写位置。

  int fseek(FILE *stream, long offset, int whence);
 

- `ftell`:获取文件当前的读写位置。

  long ftell(FILE *stream);
 

字符处理函数

- `fgetc`:从文件中读取一个字符。

  int fgetc(FILE *stream);
 

- `fputc`:将一个字符写入文件。

  int fputc(int c, FILE *stream);
 

- `fgets`:从文件中读取一行字符串。

  char *fgets(char *str, int n, FILE *stream);
 

- `fputs`:将一个字符串写入文件。

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

格式化输入输出函数

- `fprintf`:将格式化的数据写入文件。

  int fprintf(FILE *stream, const char *format, ...);
 

- `fscanf`:从文件中读取格式化的数据。

  int fscanf(FILE *stream, const char *format, ...);
 

- `printf`:将格式化的数据输出到标准输出(通常是终端)。

  int printf(const char *format, ...);
 

- `scanf`:从标准输入读取格式化的数据。

  int scanf(const char *format, ...);
 

文件指针和EOF

- `EOF`:表示文件结束。
 
  #define EOF (-1)
 

示例程序

下面是一个示例程序,演示了如何使用这些标准 I/O 函数:


#include <stdio.h>

int main() {
    FILE *fp = fopen("example.txt", "w");
    if (fp == NULL) {
        printf("Error opening file.\n");
        return 1;
    }

    fprintf(fp, "Hello, world!\n");
    fclose(fp);

    fp = fopen("example.txt", "r");
    if (fp == NULL) {
        printf("Error opening file.\n");
        return 1;
    }

    char buffer[100];
    while (fgets(buffer, sizeof(buffer), fp) != NULL) {
        printf("%s", buffer);
    }

    fclose(fp);
    return 0;
}
 

解释:
1. 文件打开:用 `fopen` 打开 `example.txt` 文件以进行写入。
2. 写入文件:用 `fprintf` 向文件写入字符串。
3. 文件关闭:用 `fclose` 关闭文件。
4. 重新打开文件:用 `fopen` 以只读模式重新打开文件。
5. 读取文件:用 `fgets` 从文件中读取每一行,并用 `printf` 输出到标准输出。
6. 关闭文件:用 `fclose` 关闭文件。

这个程序展示了基本的文件操作和格式化 I/O 操作。如果你需要更复杂的功能,可以参考 `stdio.h` 的文档或其他 C 语言的资源。

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值