何らかの理由で、私はこの作業を取得カント:va_startでstringを使用する方法は?
void examplefunctionname(string str, ...){
...
va_start(ap, str.c_str());
も私はこの仕事を得るか:
void examplefunctionname(string str, ...){
...
int len = str.length();
char *strlol = new char[len+1];
for(int i = 0; i < len; i++){
strlol[i] = str[i];
}
strlol[len] = 0;
va_start(ap, strlol);
が、これが行われます。
void examplefunctionname(const char *str, ...){
...
va_start(ap, str);
誰かがどのように私は私を示すことができたがそこにconst char *
の代わりに文字列を使用できますか?
私はexamplefunctionname("%d %d %d", 1337, 1337, 1337)
関数が 'string'をとる例ではなぜ' va_start(ap、str) 'を使用していませんか?あなたは、 'va_start'マクロのパラメータの名前を、任意の式ではなく使用することになっています。 –
ああ、私はそれが文字列を読み込むと思ったので、変数にアドレスをとって...最後の変数を知って、次にそれをループするのに使うのですか?ああ..私は今それを見る – Newbie