c - 输入末尾的预期声明或语句 - 错误

标签 c

无法编译代码,最后一个标记“}”出现错误。对不起,语言,但它是保存到二进制文件的函数。该错误是输入末尾的预期声明或语句。

void gravarRegistos(contadorStruct *contador)
{
    char sair;
    int numelem = 0, erro = 0;
    FILE *ficheiro;

    do {
        printf("Deseja gravar as alteracoes? (S/N)\n");

        sair = lerCaracter();
        if (sair == 'S') {
            ficheiro = fopen("data.dat", "wb");

            if (ficheiro == NULL)
                printf("Falha a abrir o ficheiro\n");
            else {
                fwrite(contador, sizeof(contadorStruct),1, ficheiro);
                numelem = fwrite(veiculos, sizeof(veiculosStruct), 
                          contador->nrVeiculos, ficheiro);

                if (numelem != contador->nrVeiculos) {
                    printf("Ocorreu um erro a gravar os dados no ficheiro,
                            apenas gravou %d Carros", numelem);

                    erro = fclose(ficheiro);
                    if (erro)
                        printf("Erro %d a fechar o ficheiro", erro);
                }
            }
        }
    } while(sair != 'S' && sair !='N');
}

最佳答案

代码的主要问题是调用 printf() 的第一个参数的语法无效。 。

字符串以 <newline> 结尾除非通过 \ 逃脱

建议:

printf("Ocorreu um erro a gravar os dados no ficheiro,\
                        apenas gravou %d Carros", numelem);

关于c - 输入末尾的预期声明或语句 - 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33881631/

相关文章:

C头文件和源文件混淆

java - 在散列函数中使用 << 和 >>>

python - 导入错误 : Cython and gcc-5

c - 删除使用 __attribute__((section)) 创建的部分

c - 如何将文件中的所有数字读取到数组中?

c - postgres 连接池库

c - 了解一些C代码

c - 将 LinkedList 值传递给函数 - C

c - 位域在 union 中未按预期工作

c - 确定 C 中 RegQueryValueEx 所需的缓冲区大小