怎么VC++读取文本文件一行数据??再把这行数据写入两个数组中???高手来

来源:百度知道 编辑:UC知道 时间:2024/06/15 12:58:01
1, 0.056183, 0.015906, 0.003513, 0.000283, 0.000003, 0.000828, 0.111811
1, 0.020147, 0.005431, 0.001509, 0.000059, 0.000003, 0.000797, 0.111808
2, 0.026044, 0.001199, 0.001091, 0.000081, 0.000003, 0.000794, 0.111806
2, 0.090909, 0.008505, 0.003210, 0.001535, 0.000004, 0.000909, 0.111562
3, 0.354464, 0.198575, 0.028486, 0.024844, 0.000663, 0.012116, 0.113298
3, 0.552498, 0.364998, 0.240247, 0.210239, 0.047230, 0.130700, 0.010317
… …………………………………………………………………………………………

别 ------------- 特征属性--------------



上面的数据是1.txt文件内容的一部分,实际文件的行数是2064行,列数是不固定的(即,特征属性有可能是7种,8种,甚至是10多中特征属性)

其中第一列是类别标识,每一行从第二个数据起是特征属性。(要求程序能够支持50M容量的文本文件)

要求用 VC++ 语言写一个函数,从文本文件中将“类别标识”读入一个一维数组中,将“特征属性”读入一个二维数组中
读文件的时候要能判断文件是否到了结尾

请会VC++的大虾朋友帮忙看看,谢谢了!!!!!!!!!!!!

重点在 :1 判断文件是否到了结尾
2.是通过哪个函数来读取一行数据的
3.怎么把每行的第一个数据写到第一个数组里
4.又是怎么把每行第一个数据后的其它数据写到第二个数组里

现在没时间,等我晚上帮你写一个完整的程序

不过数组大小是有限制的,你要求支持50M容量恐怕办不到,只能用堆上的内存空间

不好意思一直没时间,下面贴上程序希望对你有帮助

#include "stdafx.h"
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

#define PATHNAME "E:/1.txt"
#define COUNT 2064

int getMark(char*, char[]);
int getAttr(char* , float[], int*);
int checkData(char*);

int main(int argc, char* argv[])
{
int* pMark = NULL;
float* pAttr[COUNT];
char* buff = NULL;
char ch[9];
float attr[24];
int i = 0;
int icnt;

FILE* pf = NULL;

if (!(pf = fopen(PATHNAME, "r+"))) {
printf("error!!!");
return 0;
}

pMark = new int[COUNT];
if (!pMark) {
printf("error!!!");
return 0;
}
memset(pMark, 0, COUNT*sizeof(int));

buff = new char[256];
if (!buff) {
pri