如何将列放在文件中

How to put columns in file

本文关键字:文件      更新时间:2023-10-16

>我有一个文件,我想在其中插入数据作为列,如下所示:

列大小:5 空格 5 空格 12 空格

25100 23501 169247103621

但我还是有这两个条件

  1. 如果字符串大于列大小,我消除奇数从字符串开始的长度。
  2. 如果字符串小于列大小,则填充其余的带空格的字符串。

例1:

2510025 23501 169247103621

成为:

25100 23501 169247103621

例2:

25 23501 169247103621

成为:

25    23501 169247103621

我用 printf 在 c 中获取它,但现在我想在文件中打印某种格式。

#include <stdio.h>

int main(int argc, char **argv)
{
   char FMT[] = "%-5.5s %5s %-6.12sn";
   FILE *hFile = NULL;
   char *string  = "freeifaddrss";
   char *string2 = "cards";
   char *string3 = "ifa_nextifa_next";
   printf(FMT, string, string2, string3);
   return 0;
}

要写入文件,您可以重定向程序的输出,例如:

./prog > out.txt

或者在程序中打开一个文件并写入该文件:

FILE *f = fopen(argv[1], "w");
if (f == NULL) {
     perror(argv[1]);
     exit(EXIT_FAILURE);
}
...
fprintf(f, FMT, string, string2, string3);

用以下命令调用此内容:

./prog out.txt

你为什么不试试?

fp = fopen( "output.txt", "w" );
if( fp != NULL )
  fprintf( fp, "Hello %sn", name );