教我用C++代码,使用fread函数读取TXT文件内容,每读到逗号为一个double类型变量,若未读到逗号,继续向后读取
时间: 2023-06-24 09:03:26 浏览: 85
好的,以下是一个简单的示例代码:
```c++
#include <iostream>
#include <cstdio>
int main() {
FILE *fp = fopen("data.txt", "r");
if (!fp) {
std::cerr << "Failed to open file" << std::endl;
return -1;
}
double num;
char c;
while (!feof(fp)) {
if (fread(&num, sizeof(double), 1, fp) != 1) {
break; // 读取失败或者已经读到文件结尾
}
std::cout << num << std::endl;
if (fread(&c, sizeof(char), 1, fp) != 1) {
break; // 读取逗号失败或者已经读到文件结尾
}
if (c != ',') {
// 没有读到逗号,继续读取
fseek(fp, -sizeof(char), SEEK_CUR); // 将文件指针回退一个字符
}
}
fclose(fp);
return 0;
}
```
这个代码假定你的数据文件中每个数据都是一个 double 类型,每个数据之间用逗号分隔。如果读取到逗号,就把它忽略掉;如果没有读取到逗号,就继续读取。当读取失败或者已经读到文件结尾时,就跳出循环。
阅读全文