2

printfのように文字列をフォーマットできますが、代わりに変数に格納する方法は C にありますか? これをシステムコールに使用しようとしているので、呼び出しに変数を含めることができます。

4

1 に答える 1

5

を使用してsprintf(またはsnprintfC99/C11 で)、文字列を使用する前にフォーマットすることができます。

int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...); 

例:

 // Use the value of an integer 'n' as argument in 'perror' (C99).

#include <limits.h>
#include <stdio.h>

char argument[sizeof(int) * CHAR_BIT + 1];
snprintf(argument, sizeof argument, "%d", n);
perror(argument);
于 2013-06-06T18:25:27.853 に答える