请问二维数组如何写入csv文件

jocojohn
87
jocojohn  

以下是代码

double a[2][5]={{7,49,4,12,10},{3,5,200,2,56}} ;

void OnDeinit(const int reason)

  {

  int handle;

  handle=FileOpen("sso.csv",FILE_READ|FILE_WRITE|FILE_CSV,';');

  if(handle>0)

    {

    for(int i=0;i<2;i++)

         {

         for(int j=0;j<5;j++)

              {

                 FileWrite(handle,a[i][j]);

               }

          }

      } 

  }


为什么得到的csv文件是10个数只有一列  也没有逗号?

redmountain
82
redmountain  

随便写啊,怎么写进去就怎么读出来就可以了

而且我记得好像还有直接按数组操作的函数

jocojohn
87
jocojohn  
redmountain:

随便写啊,怎么写进去就怎么读出来就可以了

而且我记得好像还有直接按数组操作的函数

代码什么地方错了?

redmountain
82
redmountain  
jocojohn:

代码什么地方错了?

我没细看还真说不好,但是你已经知道错了,那就去修补啊

哪错就修补哪里就好了

redmountain
82
redmountain  
jocojohn:

代码什么地方错了?

代码我觉得其实没什么错误,怎么写就怎么读就好了。

如果一定要写进去是固定的行列,我只想到一个笨方法,按照代码原有思维的话,实在不行是不是可以这样:

反正第二维一定有而且是固定的,那干脆去掉第二个循环,改成类似这样:

FileWrite(handle,a[i][0],a[i][1],a[i][n]……);

如何?

另外就是,如果一定要找错误,我觉得也就是处理完文件之后没加:

FileClose(handle);

去关闭文件而已。

jocojohn
87
jocojohn  
redmountain:

代码我觉得其实没什么错误,怎么写就怎么读就好了。

如果一定要写进去是固定的行列,我只想到一个笨方法,按照代码原有思维的话,实在不行是不是可以这样:

反正第二维一定有而且是固定的,那干脆去掉第二个循环,改成类似这样:

如何?

另外就是,如果一定要找错误,我觉得也就是处理完文件之后没加:

去关闭文件而已。

这个方法好,问题解决了。太谢谢了!

另外再问一下,从csv文件读一个数组用什么函数?

redmountain
82
redmountain  
jocojohn:

这个方法好,问题解决了。太谢谢了!

另外再问一下,从csv文件读一个数组用什么函数?

不客气,问题解决了就好

至于读数组而且是从csv里面,这个我记得好像没什么特别的函数,所以我才一直说“怎么写就怎么读”

这个可以自己F1再去仔细查查文档了解一下就可以了

Hung Wen Lin
1094
Hung Wen Lin  

使用寫出數組跟讀入數組就可以了

FileWriteArray(.........)

FileReadArray(.........)

不需要繞路

redmountain
82
redmountain  
Hung Wen Lin:

使用寫出數組跟讀入數組就可以了

FileWriteArray(.........)

FileReadArray(.........)

不需要繞路

编程和回答问题帮助他人一定要谨慎,千万不能误导!否则才可能真的带错路,绕弯路啊!类似这种事情我发现不是一回两回了很多地方都有……

人家说的是csv文件,如果我没记错的话你说的这两个函数都是针对二进制等文件的而且不支持动态数组、不支持csv文件的。

新版MT4还是非常严谨的,不排除会带来各种隐患,尽量还是按规操作!

Hung Wen Lin
1094
Hung Wen Lin  

使用寫出數組跟讀入數組建議使用相對應的指令

FileWriteArray(.........)

FileReadArray(.........)

不要繞彎路 其中原因自己去想

redmountain
82
redmountain  

明明很简单的问题:1.解决问题,同时2.留空间不受局限,为啥人家最后要强调F1,这两个函数谁能不知道?人家自己能看不到?……

要是我没特意要强调F1,我自己觉得那也是我不对! 引导提醒一下就好了,但是真不能非要或者单纯就只强调那两个函数而脱离人家的环境否则就是画框和误导,同时又要把空间留给人家自己,只有人家才最懂自己的策略和需求。哎……

举个例子,近距离作战还真就不能用原子弹的,即便是它或许可能大概很高级,还是总是有局限。而且还要相信原子弹肯定迟早不是最高级的。哈哈。

编程最大的麻烦就是思维被限制住的硬伤,要尽量放开!