2
書式指定子を使用して文字列を作成できる標準のC関数はありますか?Cで書式指定子を使用して文字列を作成する
今、私はこれをやっている:
char buffer[256];
char *name = "Fred";
strcpy(buffer, "Hello, ");
strcat(buffer, name);
strcat(buffer, ". How are you today?\n");
は、1つの関数にバッファにメッセージを追加する方法はありますか?
このような何か:それを使用するときにはsprintfはセーフ機能ではなく、buffer overflowsに苦しむ可能性があるため
makestr(buffer, "Hello, %s. How are you today?\n", name);
私はsprintfが安全でないというばかげた論争のためではありませんでしたか?あなたが何をしているのか分かっていて、自分が何をしているのかわからない人がC :-)の代わりにBASICを使用しているべきであれば、完全に安全です。 – paxdiablo
バッファオーバーフローの危険を避けるためにsnprintfをお勧めしますか? – mouche