内部的fputs数组(C)

时间:2013-07-15 11:24:22

标签: c arrays fputs

我正在尝试在文件中写入数组的全部内容。这是我的代码:

   fichier = fopen(patch, "w+");

if (fichier != NULL)
{
        if(methode==1)
        {
            trieur(tableau, ttableau);
            int d;
            d=0;
            for (d = 0 ; d < ttableau ; d++)
            {
                fputs(tableau[d], fichier);
            }

        }
        else if(methode==2)
        {
            trieur2(tableau, ttableau);
            int d;
            d=0;
            for (d = 0 ; d < ttableau ; d++)
            {
                fputs(tableau[d], fichier);
            }

        }
        else
        {
        printf("Methode non disponible!\nBye Bye!");
        exit(0);
        }

    do
    {
        caractere = fgetc(fichier);
        printf("%c", caractere);
    } while (caractere != EOF);

    fclose(fichier);

}
else
{
    printf("Hum something wrong witch file %s", name);
}

但它不起作用。任何人都可以帮助我吗?

谢谢!

ps:更多脚本,一切正常,但我的脚本在写入文件时关闭:/

main =&gt; pastebin.com/m2AM0080 func.h =&gt; pastebin.com/KQkAbwin

1 个答案:

答案 0 :(得分:0)

点击完整代码的链接后,您有int tableau[]。所以ypu将int传递给fputs(),但fputs()需要char *。那不行。要将int二进制写入输出文件,可以使用

fwrite( tableau+d, sizeof(int), 1, fichier );

要编写多个ASCII数字,您可以使用

fprintf( fichier, "%d", tableau[d] );

顺便说一下。如果你直接包含你在帖子中使用的变量的声明,那就更容易了。