使用Visual C ++将二维数组写入文件并从文件中读取二维数组

时间:2009-02-26 13:14:45

标签: visual-studio c++-cli

我是C ++的新手。我制作了680x680的二维数组。我试着将它写入txt文件。遗憾的是,我不能定期编写二维数组。 另外我想从txt文件中读取二维数组。我的代码如下。你能帮帮我吗?

/*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);

最诚挚的问候......

1 个答案:

答案 0 :(得分:0)

现在没时间详细解决这个问题,您可以使用“序列化”和“反序列化”这两个词来浏览(谷歌或SO)。


稍后:我不做任何视觉效果,所以我会忽略任何与语法相关的内容。

  1. 编译吗?
  2. 如果是这样,它会不会崩溃吗?
  3. 如果是这样,你直接查看了输出吗?是否能满足您的期望?
  4. 使用fscanf进行输入解析很棘手。您需要非常小心,才能获得与空白字符匹配的内容。 Look here.您最大的问题似乎是您正在编写换行符,但不允许输入包含它们。
  5. 我的建议:走得很慢,检查每一步发生了什么,并在您更好地了解可能出现的问题时报告(编辑问题)......