C++面试题:C++面试题:C++文件操作与I/O
在C++面试中,文件操作与I/O是常被考察的知识点。掌握这些知识,对于面试官来说,能够评估应聘者对C++编程的熟练程度。本文将围绕C++文件操作与I/O展开,详细介绍相关概念、常用函数以及实际应用案例。
一、C++文件操作概述
C++中,文件操作主要包括文件的打开、读取、写入和关闭等。C++标准库提供了丰富的文件操作函数,如fopen
、fprintf
、fscanf
、fclose
等。
二、文件打开与关闭
- 文件打开
使用fopen
函数打开文件,该函数原型如下:
FILE *fopen(const char *filename, const char *mode);
其中,filename
为文件名,mode
为打开模式。打开模式有以下几种:
"r"
:以只读方式打开文件。"w"
:以写入方式打开文件,如果文件不存在,则创建文件。"a"
:以追加方式打开文件,如果文件不存在,则创建文件。"r+"
:以读写方式打开文件。"w+"
:以读写方式打开文件,如果文件存在,则清空文件内容。
- 文件关闭
使用fclose
函数关闭文件,该函数原型如下:
int fclose(FILE *stream);
三、文件读取与写入
- 文件读取
C++提供了多种读取文件的方法,以下列举几种常用方法:
- 使用
fscanf
函数读取文本文件:
int fscanf(FILE *stream, const char *format, ...);
- 使用
fgets
函数读取文本文件:
char *fgets(char *str, int n, FILE *stream);
- 使用
fread
函数读取二进制文件:
size_t fread(void *ptr, size_t size, size_t nitems, FILE *stream);
- 文件写入
C++提供了多种写入文件的方法,以下列举几种常用方法:
- 使用
fprintf
函数写入文本文件:
int fprintf(FILE *stream, const char *format, ...);
- 使用
fputs
函数写入文本文件:
int fputs(const char *str, FILE *stream);
- 使用
fwrite
函数写入二进制文件:
size_t fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream);
四、案例分析
以下是一个简单的案例,演示如何使用C++文件操作读取和写入文件:
#include
int main() {
FILE *fp = fopen("example.txt", "w+");
if (fp == NULL) {
printf("打开文件失败\n");
return 1;
}
// 写入文件
fprintf(fp, "Hello, World!");
// 定位到文件开头
fseek(fp, 0, SEEK_SET);
// 读取文件
char buffer[100];
fgets(buffer, sizeof(buffer), fp);
printf("读取内容:%s\n", buffer);
// 关闭文件
fclose(fp);
return 0;
}
五、总结
C++文件操作与I/O是C++编程中重要的知识点。掌握这些知识,能够帮助我们在实际项目中高效地处理文件。本文介绍了C++文件操作的基本概念、常用函数以及实际应用案例,希望对您有所帮助。
猜你喜欢:猎头同行合作