c语言编程笔录

首页 >   > 笔记大全

笔记大全

c语言文件打开方式有哪些

更新时间:2023-07-09

标准IO文件打开方式

使用stdio.h库中的fopen()函数可以实现对标准IO文件的打开,可以用于读取或写入文件的数据,其函数声明如下

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

参数说明:
filename: 要打开的文件名字符串。
mode:打开文件的模式字符串。

例如:

FILE *fp = fopen("file.txt", "r");

此代码将以只读方式打开名为“file.txt”的文件,并返回一个指向该文件的指针。

二进制文件打开方式

使用C标准IO库中的fopen()函数可以实现对二进制文件的读写操作,其函数声明如下

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

参数说明:
filename: 要打开的文件名字符串。
mode:以何种方式打开文件。

例如:

FILE *fptr = fopen("test.bin", "wb");

此代码将以写入二进制文件的方式打开名为“test.bin”的文件,并返回一个指向该文件的指针。

命令行方式打开文件

在C程序中通过命令行参数打开文件是一个常用的技巧。当程序启动时,直接从命令行中接收文件名参数,然后根据需要打开文件,其代码示例如下:

int main(int argc, char *argv[]) {
    FILE *fp;
    if (argc != 2) {
        printf("Usage: %s filename", argv[0]);
        exit(1);
    }
    if ((fp = fopen(argv[1], "r")) == NULL) {
        printf("Can't open the file:\n");
        exit(1);
    }
    fclose(fp);
    return 0;
}

读取器打开方式

在使用读取器(Scanner)时可以直接通过文件名来打开文件。Scanner类有一个构造方法可以接受File类型的参数来打开文件,其代码示例如下:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        try {
            Scanner scanner = new Scanner(new File("test.txt"));
            while (scanner.hasNext()) {
                System.out.println(scanner.nextLine());
            }
        scanner.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    return;
}
}