如何改进代码以在C中打印到文本文件?

如何改进代码以在C中打印到文本文件?,c,arrays,multidimensional-array,printf,dimension,C,Arrays,Multidimensional Array,Printf,Dimension,我正在使用开源热模拟器HotSpot 6.0,我试图将尺寸参数-x和-y提取到文本文件中,以用于新的热建模工具 我尝试过终端打印x和y位置: fprintf(stdout, "Location in x: %u\n", i1); fprintf(stdout, "Location in y: %u\n", j1); 上面的代码打印了i1和j1数字行,但我想将它们保存到文本文件中。 下面的代码是我试图打印到文本文件的代码 FILE *fptr; fptr = fopen("Dimensions.

我正在使用开源热模拟器HotSpot 6.0,我试图将尺寸参数-x和-y提取到文本文件中,以用于新的热建模工具

我尝试过终端打印x和y位置:

fprintf(stdout, "Location in x: %u\n", i1);
fprintf(stdout, "Location in y: %u\n", j1);
上面的代码打印了i1和j1数字行,但我想将它们保存到文本文件中。 下面的代码是我试图打印到文本文件的代码

FILE *fptr;
fptr = fopen("Dimensions.txt","w");
fprintf(fptr,"%u\t %u\t",i1,j1);
fclose(fptr);

上面代码的输出只打印一行代码。我想知道为什么要解决这个问题。

这里有一个改进建议:

#包括
#包括
内部主(空){
无符号i1=101;
无符号j1=202;
文件*fptr=fopen(“Dimensions.txt”、“w”);
如果(fptr==NULL){
fprintf(stderr,“无法打开/创建文件”\n);
退出(退出失败);
}
fprintf(fptr,“%u%u\n”,i1,j1);
fclose(fptr);
返回退出成功;
}

是否删除换行符并替换为空格/制表符?您可能还想查看格式字符串的宽度说明符。可能是一个带有两个说明符的格式字符串的
fprintf
?这确实使它们以列分隔,但与我的fprintf(stdout)代码相比,它只创建了一行数据。我不理解您的问题。你预计要排几行?为什么?你的编辑刚刚使以前的评论无效,但没有使它更清楚。您正在打印一行,并询问它为什么要打印一行。它有什么改进?呃,如果(fptr==NULL){fprintf(stderr,“cannotopen/create file\n”);exit(exit_FAILURE);}?@EugeneSh,为什么要在错误检查中使用逗号运算符而不是更常见的
。当我回答这个问题时,问题是不同的(它使用了两个
printf
)。现在我有点困惑提问者想要什么。@Shawn我的本地格式化程序不使用这么多行有点仓促。我会调整的。