Como criar arquivo na raiz do dico local C?

4 respostas
P

Olá, como faço pra usar a função fopen() para criar um arquivo na Raiz do dico local C?
acredito que meu problema está no uso das barras

FILE *p;
p = fopen("C:\\ola.txt","w");
if (p == NULL) {
printf("Erro ao abrir arquivo");
} 
else {
printf("Sucesso ao abrir arquivo\n");
}

já usei também com a barra invertida

FILE *p;
p = fopen("C://ola.txt","w");
if (p == NULL) {
	printf("Erro ao abrir arquivo");
}
else {
	printf("Sucesso ao abrir arquivo\n");
}

e nenhum funcionou, estou no windows.`

4 Respostas

R

Alguma mensagem de erro do compilador?

Só para garantir, você está fechando o arquivo após o uso?

fclose(p);
P

sim, fechei o arquivo no final, O compilador não acusa erro, só exibe a mensagem “Erro ao abrir arquivo”, que é o normal já que o ponteiro pro arquivo é nulo.

R

Tente usar o strerror para ver o problema. inclusive o exemplo está tentando abrir o arquivo…

https://www.tutorialspoint.com/c_standard_library/c_function_strerror.htm

D
#include <stdio.h>
#include <stdlib.h>

int main()
{
   FILE * fp;

   fp = fopen ("C:\\ola.txt", "w+");
   fprintf(fp, "%s" , "Hello World");
   
   fclose(fp);
   
   return(0);
}

Testei aqui e funcionou normalmente.
Você pode verificar se consegue salvar em outro disco sem ser o C também. Caso consiga salvar, pode ser algum problema de permissão que não está deixando você salvar no disco local C.

Criado 10 de agosto de 2017
Ultima resposta 12 de ago. de 2017
Respostas 4
Participantes 3