-3

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

   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:更多脚本,一切正常,但是当他应该在文件上写入时我的脚本关闭了:/

主 => pastebin.com/m2AM0080 func.h => pastebin.com/KQkAbwin

4

1 回答 1

0

在您指向完整代码的链接之后,您拥有int tableau[]. 所以 ypu 传递一个inttofputs()fputs()期望一个char *. 那是行不通的。要将 int 二进制写入输出文件,您可以使用

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

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

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

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

于 2013-07-15T11:53:18.973 回答