在数组中写入char *,然后在文件中写入

时间:2013-03-14 07:12:29

标签: c

这是我的代码:

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,为什么?

2 个答案:

答案 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;
    }