c语言 读取数据文件问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 11:55:53
现在要读取一个数据文件,比如c:\\data.txt
#author:vincent
#vincent making love
...
12394.12,1234.3, 1234.123 #love
1234123.123,1234.123,12321.123 #means nothing
8998.23,9847.12,434.12
....
问题:1.如何只读取数据,忽略#开始的各行注释
2.在定义数组时,不知道文件里数据有多少行怎么定义数组阿?(所有字母的注释都忽略掉不算)

耐心点回答我的问题,好么。
一定要运行没有报错的程序才回复阿,谢谢各位!!

程序自己写去!
怎么想的就可以怎么写啊。

第一个问题可以用检索'#'字符的办法解决,在读到#之后忽略后面的字符直到出现一个换行符。
第二个问题不太清楚。

改名字不就ok了吗

我写了个程序,C++的,不过,只能把数据存储在string型的数组里面,要存在float型数组也可以,但是显示有问题。因为float只能显示7位精度。

#include<iostream.h>
#include<fstream.h>
using namespace std;

struct slist {
string str;
slist *next;
};

slist* test_read() {
char c;
bool flag = true;
string str1="";
slist *p, *h;
h=p=new slist();

ifstream fs("d:\\test.txt");

while (fs.get(c)) {
if (c<=57&& c>=48) {
str1+=c;
flag=true;
} else if (c==46&& flag==true) {
str1+=".";
} else {
flag=false;
}
if (flag==false&& !str1.empty()) {
p->str=str1;
p->next = new slist;
p=p->next;
str1="";
}
}