函数

简介: 函数

在C语言中,文件操作是通过一组特定的函数来实现的,这些函数允许程序创建、读取、写入、修改和删除文件。以下是一些常用的文件操作函数及其示例代码,这些代码将详细解释每个函数的功能和用法。

 

1. fopen() - 打开文件

 

fopen() 函数用于打开一个文件,并返回一个指向该文件的文件指针。如果文件打开失败,则返回 NULL。

#include <stdio.h>
 
int main() {
    FILE *fp;
    fp = fopen("example.txt", "w"); // 以写入模式打开文件
    if (fp == NULL) {
        printf("Failed to open file\n");
        return 1;
    }
    // ... 在这里进行文件操作 ...
    fclose(fp); // 记得关闭文件
    return 0;
}

 

2. fclose() - 关闭文件

 

fclose() 函数用于关闭一个已打开的文件。关闭文件是一个好习惯,因为它会释放文件所占用的所有资源。

 

3. fgetc() 和 fputc() - 读取和写入单个字符

 

fgetc() 函数从文件中读取一个字符,fputc() 函数将一个字符写入文件。

 

#include <stdio.h>
 
int main() {
    FILE *fp;
    char ch;
 
    fp = fopen("example.txt", "w+"); // 以读写模式打开文件
    if (fp == NULL) {
        printf("Failed to open file\n");
        return 1;
    }
 
    // 写入字符
    fputc('H', fp);
    fputc('i', fp);
 
    // 将文件指针重新定位到文件开头
    rewind(fp);
 
    // 读取字符
    ch = fgetc(fp);
    printf("%c\n", ch); // 输出: H
    ch = fgetc(fp);
    printf("%c\n", ch); // 输出: i
 
    fclose(fp);
    return 0;
}

 

4. fgets() 和 fputs() - 读取和写入字符串

 

fgets() 函数从文件中读取一行字符串,fputs() 函数将一个字符串写入文件。

 

#include <stdio.h>
 
int main() {
    FILE *fp;
    char line[100];
 
    fp = fopen("example.txt", "w+"); // 以读写模式打开文件
    if (fp == NULL) {
        printf("Failed to open file\n");
        return 1;
    }
 
    // 写入字符串
    fputs("Hello, World!\n", fp);
 
    // 将文件指针重新定位到文件开头
    rewind(fp);
 
    // 读取字符串
    fgets(line, sizeof(line), fp);
    printf("%s", line); // 输出: Hello, World!\n
 
    fclose(fp);
    return 0;
}

 

5. fprintf() 和 fscanf() - 格式化输入/输出

fprintf() 函数用于将格式化的数据写入文件,fscanf() 函数用于从文件中读取格式化的数据。

 

#include <stdio.h>
 
int main() {
    FILE *fp;
    int num = 123;
 
    fp = fopen("example.txt", "w+"); // 以读写模式打开文件
    if (fp == NULL) {
        printf("Failed to open file\n");
        return 1;
    }
 
    // 写入格式化的数据
    fprintf(fp, "The number is: %d\n", num);
 
    // 将文件指针重新定位到文件开头
    rewind(fp);
 
    // 读取格式化的数据(这里只是演示,因为文件内容已知)
    int read_num;
    fscanf(fp, "The number is: %d", &read_num);
    printf("Read number: %d\n", read_num); // 输出: Read number: 123
 
    fclose(fp);
    return 0;
}

 

6. fseek() 和 ftell() - 文件指针定位

 

fseek() 函数用于设置文件位置指针的位置,ftell() 函数返回当前文件位置指针的位置。

 

7. rewind() - 重置文件指针到文件开头

 

rewind() 函数将文件位置指针重新设置为文件的开头。这在多次读写同一文件时很有用。

 

以上代码示例仅展示了每个函数的基本用法,实际使用中可能需要根据具体需求进行更复杂的操作。同时,文件操作也可能涉及错误处理和资源管理等问题,因此在编写涉及文件操作的程序时,请务必注意这些问题。

相关文章
|
1月前
|
存储 编译器 C++
13函数
13函数
13 0
|
1月前
|
程序员 编译器 C++
函数介绍
函数介绍
26 1
|
11天前
|
C++
<iomanip>库中setw(),setfill()等函数的使用
<iomanip>库中setw(),setfill()等函数的使用
11 0
|
10月前
|
C语言
C语言知识点之 函数2
C语言知识点之 函数2
33 0
|
1月前
|
前端开发 JavaScript
Less的函数的介绍
Less的函数的介绍
28 0
|
6月前
|
存储 C语言
对函数的剖析二
对函数的剖析二
33 0
|
10月前
|
存储 编译器 C语言
C语言知识点之 函数
C语言知识点之 函数
34 0
|
10月前
|
算法 程序员 编译器
最简单的函数,看看就会了
最简单的函数,看看就会了
|
自然语言处理 C++
C/C++ 中的 atol()、atoll() 和 atof() 函数
1.atol(): 此函数将作为参数传递给函数调用的 C 类型字符串转换为长整数。它解析 C 字符串 str 并将其内容解释为整数,该整数作为 long int 类型的值返回。该函数会丢弃字符串开头的空白字符,直到找到非空白字符。如果 C 字符串 str 中的非空白字符序列不是有效的整数,或者如果因为 str 为空或仅包含空白字符而不存在这样的序列,则不执行任何转换并返回零。
158 0
|
JavaScript 前端开发 API
h函数为什么叫h?
h函数为什么叫h?
215 0