2009-02-26 24 views
1

私はC++で新しく、680x680の2次元配列を作った。そして、それをtxtファイルに書き込もうとした。残念ながら、その次元に沿って規則的に2次元配列を書く。 また、私はtxtファイルから二次元配列を読みたいと思っています。私のコードは以下です。私を助けることができますか?2次元配列をファイルに書き込み、Visual C++を使用して2次元配列をファイルから読み取る

/*Declaration 680 *680 multidimensional array*/ 
array< array<double>^ >^ arr = gcnew array< array<double>^ >(680); 

for (j=0;j<arr->Length;j++){ 
    arr[j]=gcnew array<double>(680);} 

/*Write double array to file*/ 

FILE *OutFile = fopen("C:\\test.txt","w++"); 

for(n=0;n<=(N-1);n++){ 
    fprintf(OutFile,"\n "); 
    for(k=0;k<=(N-1);k++){ 
     fprintf(OutFile,"\t %f ",dizi[n][k]);}} 

fclose(OutFile); 

/* Declaration array reading from file*/ 

array< array<double>^ >^ read = gcnew array< array<double>^ >(680); 

for (j=0;j<read->Length;j++){ 
    read[j]=gcnew array<double>(680);} 

/* reading array from file*/ 

FILE *InFile = fopen("C:\\test.txt","r"); 
double db; 
for(n=0;n<=(N-1);n++){ 
    for(k=0;k<=(N-1);k++){ 
    fscanf(InFile,"\t %f ",&db); 
    read[n][k]=db; }} 
fclose(InFile); 

よろしく...

答えて

0

今詳細に本を介して動作する時間がない、あなたは言葉「シリアライズ」と「直列化復元」を使用して(またはSOグーグル)周りを見ている可能性があります。


その後:私は視覚何もしないので、私は、構文関連の何かを無視するつもりです。

  1. コンパイルは行いますか?
  2. もしそうなら、クラッシュすることなく実行されますか?
  3. もしそうなら、出力を直接見ましたか?それはあなたが期待しているものを与えていますか?
  4. 入力解析にfscanfを使用するのは難しいです。空白文字が一致するように注意する必要があります。 Look here.最大の問題は、改行を書いているが、入力にその改行が含まれていないことです。

私のアドバイス:、遅く行く各段階で何が起こっているかを確認し、折り返し報告あなたは間違っているかもしれない何より良いアイデアを持っている場合(質問を編集)...

関連する問題