这是我的代码:
char sentence[400];
FILE *f;
const char *appname = application_name; //where the application_name comes from the program
strcat(sentence,appname);
... //I add more string
f = fopen ("Test.txt", "a+");
...
fprintf(f,"%s\n",sentence);
fclose (f);
结果的一个例子是:àB®pgAdmin III - Browser
什么是àB®
?
当我添加printf("%s",appname)
时,我可以在控制台中看到正确的名称,如上例pgAdmin III - Browser
,为什么?
答案 0 :(得分:4)
sentence
未初始化,您正在添加内容。你最终得到的是随机垃圾,然后是你的文字。使用strcpy
或初始化sentence
变量。
答案 1 :(得分:0)
将strcat更改为strcpy您的程序将正常工作。
#include <stdio.h>
#include <string.h>
int main()
{
char sentence[400];
const char *appname = "string_check";
strcpy(sentence,appname);
printf("%s\n", sentence);
return 0;
}