0

初学者的问题 - 如何在命令字符串中使用 k?

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int k;
    for(k = 0; k < 5; k++)
    {
       // make k appear in place of USE_K_HERE
       char argv[] = "./a.out -k USE_K_HERE < test.txt";
       system(argv);
    }
}
4

2 回答 2

4

您可以在循环体中使用 snprintf:

char cmd[100];
snprintf( cmd, sizeof(cmd), "./a.out -k %d < test.txt", k );
system(cmd);

http://en.cppreference.com/w/cpp/io/c/fprintf

于 2013-10-09T13:24:07.187 回答
0

您可以使用非标准itoa(整数到 alpha)或使用更受欢迎的sprintf

char argv[64]; // for example
sprintf(argv, "./a.out -k %d < test.txt", k);
于 2013-10-09T13:22:24.217 回答