教我用C++代码,使用fread函数读取TXT文件内容,每读到逗号为一个double类型变量,直至读到\n为止,若未读到逗号,继续向后读取
时间: 2023-06-24 18:03:28 浏览: 80
好的,以下是示例代码:
```c++
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
FILE* fp = fopen("example.txt", "r"); // 打开文件
if (fp == NULL) { // 判断文件是否打开成功
cout << "Failed to open file." << endl;
return 0;
}
double num;
char c;
while ((c = fgetc(fp)) != EOF) { // 逐个读取字符
if (c == '\n') { // 如果读到了换行符,则输出读取到的 double 值
cout << num << endl;
num = 0; // 重置 num
}
else if (c == ',') { // 如果读到了逗号,则输出读取到的 double 值
cout << num << ",";
num = 0; // 重置 num
}
else if (c >= '0' && c <= '9') { // 如果读到了数字,则将其加入 num 中
num = num * 10 + (c - '0');
}
}
fclose(fp); // 关闭文件
return 0;
}
```
在读取文件时,我们可以使用 fgetc() 函数逐个读取文件中的字符。当读取到逗号时,我们可以将累加的数字存入 double 变量中,并清空该变量。当读取到换行符时,我们将累加的数字存入 double 变量中,并输出该数字。需要注意的是,我们需要在读取完整个文件后手动关闭文件。
阅读全文