请教:怎样将一个.txt文件转为数组,恳求帮助,谢谢了。

ln_cong 2006-02-14 04:09:00
例如:文件D:\data.txt

0.201 0.330 -0.34 0.980 -0.123
1.23 1.300 0.89 -0.12 -3.239
3.33 4.213 -0.34 0.235 0.456

怎么样用float qq[i][j]这样的数组形式来读取??
...全文
180 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ln_cong 2006-02-16
  • 打赏
  • 举报
回复
非常感谢楼上各位,按照你们提的方法,我已经顺利实现调用,再一次表示感谢。
MTLee 2006-02-15
  • 打赏
  • 举报
回复
const int xEdge=4, yEdge=4;
float f[xEdge][xEdge];
FILE *in, *out;

if ((in = fopen("D:\\data.txt", "rt"))
== NULL)
{
fprintf(stderr, "Cannot open input file.\n");
return ;
}

int xcount=0,ycount=0;
while(!feof(in)){
// xcount++; //這句換個位置就可以了
if(xcount>=xEdge){
ycount++;
xcount=0;
}
fscanf(in,"%f",&f[xcount][ycount]);
xcount++; //這句放在這就可以保証f[0][0] 的值被更改過
}
fclose(in);
MTLee 2006-02-15
  • 打赏
  • 举报
回复
TO: setdefault(山转水也转)
我按照你的代碼試了一下,讀不出來最後那個?
例如:D:\data.txt文件的內容為:
11.11 11.22 11.33 11.44
22.11 22.22 22.33 22.44
33.11 33.22 33.33 33.44
44.11 44.22 44.33 44.44
實際上讀不出來 44.44這個值!
忘大家踴躍發言!!!
謝謝!
WaveYang 2006-02-15
  • 打赏
  • 举报
回复
同意楼上,如果不知道数组大小,可以用DynamicArray.
setdefault 2006-02-14
  • 打赏
  • 举报
回复
const int xEdge=4, yEdge=4;
float f[xEdge][xEdge];
FILE *in, *out;

if ((in = fopen("D:\\data.txt", "rt"))
== NULL)
{
fprintf(stderr, "Cannot open input file.\n");
return ;
}

int xcount=0,ycount=0;
while(!feof(in)){
xcount++;
if(xcount>=xEdge){
ycount++;
xcount=0;
}
fscanf(in,"%f",&f[xcount][ycount]);
}
fclose(in);

13,873

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧