【发布时间】:2011-03-08 23:20:12
【问题描述】:
我有几个问题。 我有一个包含这些信息的文本文件
x0,x1,y0,y1
142,310,0,959
299,467,0,959
456,639,0,959
628,796,0,959
-
首先,我想使用
fscanf读取文本文件,并通过跳过第一行仅将数字放入4 个数组c1、c2、c3和c4。所以最终的结果是c[1] = {142, 310, 0, 959} c[2] = {299, 467, 0, 959} c[3] = {456, 639, 0, 959} c[4] = {628, 796, 0, 959} 然后,对于每个
c[1]到c[4],我想找到最大整数并将其存储在 [x, y] 数据类型中。因此,例如在c[1]中,最大值将为max[1]= [310, 959]。
有人可以帮忙吗?也欢迎使用数组以外的其他 C 解决方案来解决此问题。
在matlab中,代码是
fid = fopen('foo.txt','r');
c = textscan(fid,'%d%d%d%d','delimiter',',','headerlines',1);
fclose(fid);
这将简单地忽略第一行,然后将其余数字复制到 matlab 中的数组中。 我想把这段代码翻译成C。 非常感谢。
【问题讨论】:
-
我可以帮忙,把你的代码贴出来,我看看。
-
嗯,为什么要在最大值中包含 2 个值?
-
将值存储到 STL 向量中并对其进行排序。那么最后两个元素将是您的最大值。
-
你如何定义你的关系
~?这是否意味着大小相似? -
您仍然没有粘贴任何代码来尝试读取文件,您是否正在执行以下操作:
readline(fp);while(!feof(fp)){row++; fscanf ("%f,%f" .., &c[row][0],&c[row][1], ..) }; ..?