0

ファイルがあり、次のような列としてデータを挿入したいと思います。

列サイズ:5スペース5スペース12スペース

25100 23501 169247103621

しかし、私はまだこの2つの条件を持っています:

  1. 文字列が列サイズよりも大きい場合は、文字列から奇数の長さを削除します。
  2. 文字列が列サイズよりも小さい場合は、残りの文字列をスペースで埋めます。

例1:

2510025 23501 169247103621

なる:

25100 23501 169247103621

例2:

25 23501 169247103621

なる:

25    23501 169247103621

私はこれをcで取得するように管理しました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;
}
4

2 に答える 2

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
于 2012-11-20T20:50:34.027 に答える
0

やってみませんか?

fp = fopen( "output.txt", "w" );
if( fp != NULL )
  fprintf( fp, "Hello %s\n", name );
于 2012-11-20T21:02:20.103 に答える