Ed
mês passado
Vamos analisar as alternativas considerando a necessidade de garantir que cada mensagem seja adicionada de forma segura e correta ao final do arquivo, mesmo com múltiplas instâncias escrevendo simultaneamente. - a) fprintf(logFile, "%s", message); Escreve a string no arquivo, mas não adiciona automaticamente uma nova linha e não garante segurança em escrita concorrente. - b) fputs(message, logFile); Escreve a string no arquivo, sem adicionar nova linha, e também não garante segurança em escrita concorrente. - c) fwrite(message, sizeof(char), strlen(message), logFile); Escreve bytes diretamente, mas não adiciona nova linha e não garante segurança concorrente. - d) fputc('message', logFile); Incorreto, pois fputc escreve um único caractere, e 'message' não é um caractere válido. - e) fprintf(logFile, "%s\n", message); Escreve a string seguida de uma nova linha, o que é importante para separar mensagens no log, mas ainda não garante segurança em escrita concorrente. Nenhuma das funções por si só garante segurança em escrita concorrente (como bloqueio de arquivo), mas para garantir que cada mensagem seja adicionada corretamente e separada, a melhor opção é a que escreve a mensagem com uma nova linha: alternativa e). Portanto, a resposta correta é: e) fprintf(logFile, "%s\n", message);