変数:
struct configSetting {
char *value;
};
char *stringResult;
char str[255];
int intResult;
int *p_intResult;
int i = 0;
p_intResult = &intResult;
私はintを文字列に変換しています:
struct configSetting settings[NUMBEROFSETTINGS];
settings[i].value = itoa(intResult, str, 10);
printf は、正しい値をコンソールに出力します。
printf("\nVALUE: %s", settings[i].value);
その後、別の関数の値をコンソールに書き込んでいます。これら 2 つの printf の間で出力が変わります。
printf("\nTEST 1: %s;%i", settings[15].value, strlen(settings[15].value));
printf("\nTEST 2: %s;%i", settings[15].value, strlen(settings[15].value));
これがコンソールの結果です: TEST 1: 50;2 TEST 2: ý³↑;3
settings[15].value の char* が printf の間で変化していますが、その理由がわかりません。
前もって感謝します!