c++文件操作eof()
时间: 2023-11-18 10:52:02 浏览: 47
C语言中,eof()函数用于判断文件是否已到达结尾,主要用于文件读取操作。当文件读到结尾时,返回值为真,否则返回值为假。
具体来说,当从文件中读取字符时,若读到了结尾,feof()函数会返回一个非零值,否则返回0。常见的使用方法如下:
```
#include <stdio.h>
int main() {
FILE *fp = fopen("example.txt", "r");
char ch;
while ((ch = fgetc(fp)) != EOF) {
putchar(ch);
}
if (feof(fp)) {
printf("Reached end of file.\n");
} else {
printf("Something went wrong.\n");
}
return 0;
}
```
在上述代码中,while循环不断从文件中读取字符并输出,直到读到了文件结尾(即feof(fp)返回真)。最后根据feof()函数的返回值打印出相应的提示信息。
相关问题
c++如何操作csv文件
C可以使用标准库中的fopen函数打开csv文件,使用fscanf函数读取文件中的数据,使用fprintf函数将数据写入csv文件中。具体操作可以参考以下代码:
```c
#include <stdio.h>
int main() {
FILE *fp;
char filename[] = "data.csv";
char name[20];
int age;
float score;
// 打开csv文件
fp = fopen(filename, "r");
// 读取csv文件中的数据
while (fscanf(fp, "%s,%d,%f", name, &age, &score) != EOF) {
printf("Name: %s, Age: %d, Score: %.2f\n", name, age, score);
}
// 关闭csv文件
fclose(fp);
// 写入数据到csv文件中
fp = fopen(filename, "a");
fprintf(fp, "Tom,20,90.5\n");
fclose(fp);
return 0;
}
```
c++文件读写
在 C++ 中,可以使用标准库中的 `fstream` 来进行文件的读写操作。`fstream` 是一个类模板,提供了对文件的输入(读取)和输出(写入)功能。
下面是一个示例代码,演示了如何使用 `fstream` 进行文件的读写操作:
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main() {
// 文件写入操作
ofstream fout("file.txt"); // 创建一个输出文件流对象
fout << "Hello, world!" << endl; // 写入数据到文件
fout.close(); // 关闭文件流
// 文件读取操作
ifstream fin("file.txt"); // 创建一个输入文件流对象
string line;
while (getline(fin, line)) { // 逐行读取文件内容
cout << line << endl; // 输出读取的数据
}
fin.close(); // 关闭文件流
return 0;
}
```
上述代码中,首先通过 `ofstream` 创建一个输出文件流对象 `fout`,并使用 `fout << "Hello, world!" << endl;` 将数据写入文件。然后通过 `ifstream` 创建一个输入文件流对象 `fin`,使用 `getline(fin, line)` 逐行读取文件内容,并输出到终端上。最后关闭文件流。
需要注意的是,文件读写操作可能会出现异常,因此需要在程序中判断文件读写是否成功。可以使用 `fail()`、`bad()`、`eof()` 等函数来判断文件读写状态。