如何将列放在文件中

时间:2012-11-20 20:40:32

标签: c++ c

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

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

25100 23501 169247103621

但我仍然有两个条件

  1. 如果字符串大于列大小,我就消除了奇数 字符串的长度。
  2. 如果字符串小于列大小,则填写其余部分 带空格的字符串。
  3. 练习1:

    2510025 23501 169247103621
    

    成为:

    25100 23501 169247103621
    

    练习2:

    25 23501 169247103621
    

    成为:

    25    23501 169247103621
    

    我想用printf来获取此信息,但现在我希望在文件中打印一些格式。

    #include <stdio.h>
    
    
    int main(int argc, char **argv)
    {
       char FMT[] = "%-5.5s %5s %-6.12s\n";
       FILE *hFile = NULL;
       char *string  = "freeifaddrss";
       char *string2 = "cards";
       char *string3 = "ifa_nextifa_next";
       printf(FMT, string, string2, string3);
       return 0;
    }
    

2 个答案:

答案 0 :(得分:2)

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

./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

答案 1 :(得分:0)

你为什么不试试?

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