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;
}
}