c语言,如何把二维数组中的字符串写入txt文档中?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "assignment1.h"

int main()
{
FILE *fp = NULL;
int i=0;
fp = fopen ("result.txt","w");
int len[1000];
if (NULL == fp)
{
printf ("Please input the correct filename :");
}
char Output_Text[1000][1000]={{'a','p','p','l','e'},{'o','r','a','n','g','e'}};
for(i=0;i<1000;i )
{
for(int j=0;j<1000;j )
{
fprintf(fp,"%c",Output_Text[i][j]);
}
}
fclose(fp);
return 0;
}
现代码如上,但只能写入apple,不能写入orange

#include <fstream>

#include <iostream>

using namespace std;

int main()

{

    int a[10][10];//10*10的二维数组。

    int i,j;

     

    //输入二维数组的值。

    for(i = 0; i < 10; i ++)

    {

        for(j = 0; j < 10; j ++)

        {

            cin>>a[i][j];

        }

    }

     

    ofstream out("out.txt");//打开文件。

    for(i = 0; i < 10; i ++)

    {

        for(j = 0; j < 10; j ++)

        {

            out<<a[i][j]<<',';//将每个元素写入文bai件,以逗号分隔。

        }

        out << endl;//每行输出结束,添加换行。

    }

     

    return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-10-22
比较奇怪你这段代码真的能把apple写到文件里?你确认你的代码能正常执行退出?至少我看到你的i和j始终为0,根本退不出for循环,好歹用个i++,j++。fp的判断如果是NULL,提示后要么返回退出,要么给个assert,不能继续往下执行。另外那个数组也太狠了,定义一个1000 *1000的数组,这可是消耗的栈的空间啊,这么大,最好还是在堆里面分配吧本回答被网友采纳
第2个回答  2020-10-22

相似回答