我有一个文件,我想在其中插入数据,如下所示:
列大小:5个空格5个空格12个空格
25100 23501 169247103621
但我仍然有两个条件:
练习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;
}
答案 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 );