C - 从教科书写入文件示例而不写入文件

时间:2018-04-14 21:51:31

标签: c

我正在使用C ++编译器在C(教师要求)中编程。

我正在阅读我的C教科书,并将他们的第一个示例程序复制到一个文件中,然后编译它。当我运行它(并在书中显示一些内容)时,没有任何内容写入文件。

int main(void) {
int account;
char name[30];
double balance;

FILE *cfPtr;

if ((cfPtr = fopen("clients.txt", "w")) == NULL) {
    printf("File could not be opened\n");

}
else {
    printf("Enter the account, name, and balance.\n");
    printf("Enter EOF to end input.\n");
    printf("? ");
    scanf("%d%s%lf", &account, name, &balance);

    while (!feof(stdin)) {
        fprintf(cfPtr, "%d %s %.2f\n", account, name, balance);
        printf("? ");
        scanf("%d%s%lf", &account, name, &balance);
    }
    fclose(cfPtr);
}

return 0;
}

1 个答案:

答案 0 :(得分:0)

我尝试了你的代码,它完美无缺。 我想你可能正在使用Windows编译器。 所以你应该使用ctrl-z作为EOF。 如果你是Linux用户..那么使用ctrl-z来给出EOF .. 但是如果您使用ctrl-c或任何其他中断键,那么您的数据将不会写入文件中,因为当您关闭FILE指针时它只保留在缓冲区中,然后只将缓冲区写入文件。