作者larryho (新人伟)
看板C_and_CPP
标题[问题] 在读取档案时如何动态存取
时间Fri Sep 18 18:19:22 2009
printf("请输入档名:");
scanf("%s", filename); //输入档名
FILE *fin = fopen(filename,"r"); //开启档案
if(fin==NULL) //判断是否有这个档
{
printf("找不到这个档\n");
return 0;
}
i=0;
j=0;
while(!feof(fin)) //读到没资料 换行
{
fscanf(fin, "%c", &sequence[i][j]);
if (sequence[i][j] == '\n') {
i++;
j=0;
}
else
{
j++;
}
}
我这边的sequence[i][j]上面有宣告大小,可是我读取的资料大小不一定,这样我要如何
动态宣告一个二维阵列来存资料?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.138.150.144
1F:→ james732:malloc 09/18 18:21
2F:→ johnhmj:malloc(嘛落ㄎ)calloc(卡落ㄎ)请记得用完加free 09/18 18:32
3F:→ johnhmj:用class包字元阵列,再new以及delete物件也可以。 09/18 18:34
4F:推 hilorrk:vector 09/18 18:54
5F:推 VictorTom:vector也许比较适合, 除非再怎麽动态你也可以先parser 09/18 20:57
6F:→ VictorTom:档案得知有几笔; 再不然就是用linked-list自干....XD 09/18 20:57
7F:推 tropical72:DWORD WINAPI GetFileSize(HANDLE , LPDWORD); 09/19 04:25
8F:→ tropical72:我会用FileSize先配置一维大小後再下去砍 09/19 04:26
9F:推 VictorTom:只要FileSize不见得能得到一维需要配多少大小, 必须视资 09/19 12:50
10F:→ VictorTom:料档的特性来觉得; 当然, 如果一维大小就开FileSize那麽 09/19 12:50
11F:→ VictorTom:大就另当别论了XD 09/19 12:50