我遇到字符串问题而且c。
我正在尝试做一些非常简单的事情:将int转换为字符串并以下列方式将其打印到txt文件中。
const char * test_string() {
char s[5];
int num = 123;
sprintf(s, "%d", num);
return s;
}
int save() {
FILE *fh = fopen("test.txt", "w");
const char * text = test_string();
fprintf(fh, "%s", text);
fclose(fh);
}
然而,对于这个简单的任务,我得到以下结果:
Üþ(
我想帮助解决这个问题。提前谢谢。
答案 0 :(得分:3)
s
是test_string
中的局部变量,因此在test_string
返回时会被销毁。然后,您尝试打印不再存在的变量的值。