以十列打印到txt文件?

时间:2014-10-26 15:55:20

标签: c output text-files

到目前为止,我可以很好地打印在一个专栏中:

for (i = 0 ; i < *lengthOfFile ; i++)
{   
    fprintf(myFile, "%d\n", thisArray[i]);
}

够容易。但是,如果说我有20或100或10000或更多数字,我将如何打印十列?

任何事都会有所帮助,谢谢!

4 个答案:

答案 0 :(得分:3)

您可以打印&#34;%d \ t&#34;而不是&#34;%d \ n&#34;,并移动&#34; \ n&#34;只有当(i%10)== 0时才会出现它自己的print语句。

答案 1 :(得分:1)

循环数十而不是一些。检查你是否超过这个尺寸。注意&#34;标点符号&#34; (换行符,标签,逗号,......)。

for (i = 0 ; i < *lengthOfFile ; i += 10)
{   
    fprintf(myFile, "%d", thisArray[i]);
    for (k = 1; k < 10; k++) {
        if (i + k < *lengthOfFile) fprintf(myFile, "\t%d", thisArray[i + k]);
    }
    fprintf(myFile, "\n");
}

答案 2 :(得分:1)

例如,您可以使用%8d格式进行打印(它将写入每个数字,使其占用8个字符),然后每十次迭代,打印一个新的行字符(如果您想要10列)。 / p>

答案 3 :(得分:1)

扩展trooperanswer

#define MAXIMUM_COLUMNS (10) 

for (i = 0; i < *lengthOfFile; ++i)
{   
  fprintf(myFile, "%d%c", thisArray[i], (i % MAXIMUM_COLUMNS) ?'\t' :'\n');
}