读取txt文件里的数据,有没有通用程序啊解决方法
读取txt文件里的数据,有没有通用程序啊?
一行数据比较好办。如果是m行n列的数据呢?(每n个数据换行一次)数据之间还有k个空格。我就不知道啊该怎么办了。。。求思路。。。(数据是int或者double类型的)
------解决方案--------------------
那是用法不对,fscanf/fgetc都是可以全部读完的。
------解决方案--------------------
你每行的格式要一样。比如:
abc bcd 123
asd sfsd 1
那你可以用 %s %s %d.
如果你是
c plus plus zero x eleven 2011
c++98 1998
这样的两行两列,那你就只能自己分析了。
------解决方案--------------------
都是要有特定格式的。所谓标准,就是这么来的。
------解决方案--------------------
我也不太清楚,对C的文件操作还不是太熟,只写过读取char类型的!
------解决方案--------------------
一般按业务逻辑,应该知道这一堆数据应有的格式,文字处理或许全当字串,科学计算全当浮点数未必不可,不大可能是依照文件里的面值去区分...
------解决方案--------------------
m行n列的数据 -->POCO Clang--> struct{...}<---Deserialization <-------- stream
------解决方案--------------------
自顶!
------解决方案--------------------
这个就是LZ所要的?
------解决方案--------------------
一行数据比较好办。如果是m行n列的数据呢?(每n个数据换行一次)数据之间还有k个空格。我就不知道啊该怎么办了。。。求思路。。。(数据是int或者double类型的)
------解决方案--------------------
那是用法不对,fscanf/fgetc都是可以全部读完的。
------解决方案--------------------
用fscanf函数。
一行数据比较好办。如果是m行n列的数据呢?(每n个数据换行一次)数据之间还有k个空格。我就不知道啊该怎么办了。。。求思路。。。(数据是int或者double类型的)![]()
如果txt文件里有字符之类的呢?我试了一下,如果txt里面有字符的话用fscanf好像运行不下去。或者说我读的时候想跳过第i行,或者只读int型的数据其他类型的数据跳过不读,又该怎么办呢?![]()
你每行的格式要一样。比如:
abc bcd 123
asd sfsd 1
那你可以用 %s %s %d.
如果你是
c plus plus zero x eleven 2011
c++98 1998
这样的两行两列,那你就只能自己分析了。
------解决方案--------------------
都是要有特定格式的。所谓标准,就是这么来的。
------解决方案--------------------
一行数据比较好办。如果是m行n列的数据呢?(每n个数据换行一次)数据之间还有k个空格。我就不知道啊该怎么办了。。。求思路。。。(数据是int或者double类型的)![]()
http://blog.****.net/lelieven/article/details/18038495,看看满不满足你的要求?
你这个是char啊。。。。不能读int吧?
你看下我写的这个 能不能把10000个数(每个数之间有空格,21个数一行)读到数组里。。。。//打开文件
FILE *fp1,*fp2;
fp1 = fopen("E:\\test.txt","r"); //读取
fp2 = fopen("E:\\result.txt","w"); //写回
//读取数据到数组Data
int data[10000];
memset(data,0,sizeof(data));
//声明结果数组
int* Data_result = (int*)malloc(sizeof(int)*10000);
memset(Data_result,0,sizeof(Data_result));
int flag=0;
while(flag<10000)//!feof(fp1)
{
// if(data[flag]!=' ')
// {
fscanf(fp1,"%d",&data[flag]);
flag++;
// }
}
好像fscanf可以跳过空格和换行直接读数据?是这样吗?我试过10个数的情况没有问题,10000个数没发检查了。。。。
------解决方案--------------------
一般按业务逻辑,应该知道这一堆数据应有的格式,文字处理或许全当字串,科学计算全当浮点数未必不可,不大可能是依照文件里的面值去区分...
------解决方案--------------------
m行n列的数据 -->POCO Clang--> struct{...}<---Deserialization <-------- stream
------解决方案--------------------
Excel
自顶!
------解决方案--------------------
//打开文件
ifstream fin("E:\\test.txt");
ofstream fout("E:\\result.txt");
//读取数据到数组Data
int data[10000] = {0};
int i = 0;
while(!fin)
{
fin >> data[i];
fout << data[i++];
}
这个就是LZ所要的?
------解决方案--------------------
用fscanf函数。
一行数据比较好办。如果是m行n列的数据呢?(每n个数据换行一次)数据之间还有k个空格。我就不知道啊该怎么办了。。。求思路。。。(数据是int或者double类型的)![]()