由於某種原因,我的sprintf
調用影響了我用來格式化新字符串的字符串。這裏是我的代碼:Sprintf影響格式化中使用的其他字符串?
string foo = "bar";
char salt[] = "";
sprintf(salt, "%c%c", foo[0], foo[1]);
當我嘗試sprintf
後打印foo
,它沒有價值。如果我在sprintf之前打印它,那很好。
由於某種原因,我的sprintf
調用影響了我用來格式化新字符串的字符串。這裏是我的代碼:Sprintf影響格式化中使用的其他字符串?
string foo = "bar";
char salt[] = "";
sprintf(salt, "%c%c", foo[0], foo[1]);
當我嘗試sprintf
後打印foo
,它沒有價值。如果我在sprintf之前打印它,那很好。
C沒有預定義的稱爲'string'的類型。如何定義字符串?如果你只寫了'char * foo =「bar」;'或'char foo [] =「bar」;'',你的代碼會更清晰。 (拋出一個'const'也不是一個壞主意。) –