Ir ao conteúdo

criação de ficheiro txt em C


djessirv

Posts recomendados

Postado

pessoal mi ajuda a fazer concatenação da variável.

quero criar um ficheiro txt, mais com o nome inserido no programa. por favor ajudem mi

Aqui este o meu código:

void criarContactorUser(char nomeU[20])

{

FILE *F;

if(F=fopen("contactos:%s"nomeU".txt","w")==NULL);

return 0;

return 1;

}

Postado

Tenho esta função que concatena duas strings!


// retorno: um ponteiro para uma string concatenada
// a e b devem conter strings
char * Conc(char *a, char *
{
int n = 0, t = 0;
while(a[n] != 0)
{
n++;
}
while(b[t] != 0)
{
t++;
}
// n e t contem os tamanhos de a e b respectivamente
char *juncao = new char[n+t];
juncao[n+t] = 0;
do
{
t--;
juncao[n+t] = b[t];
}
while(t != 0);
do
{
n--;
juncao[n] = a[n];
}
while(n != 0);
return juncao;
}

Um exemplo de como você usar isso:


char *arq = Conc(Variavel_que_recebe_o_nome_do_arquivo, ".txt");
fopen(arq,"w");

Postado

modifiquei mais continua dando erro.

código modificado

void criarContactorUser(char nomeU[20])

{

FILE *F;

char *arq = Conc(nomeU,".txt");

if(F=fopen(arq,"w")==NULL);

return 0;

return 1;

}

Postado

Tenta exatamente assim

#include <stdio.h>

char * Conc(char *a, char *
{
int n = 0, t = 0;
while(a[n] != 0)
{
n++;
}
while(b[t] != 0)
{
t++;
}
// n e t contem os tamanhos de a e b respectivamente
char *juncao = new char[n+t];
juncao[n+t] = 0;
do
{
t--;
juncao[n+t] = b[t];
}
while(t != 0);
do
{
n--;
juncao[n] = a[n];
}
while(n != 0);
return juncao;
}

FILE *criarContactorUser(char nomeU[20])
{
char *Arq = Conc(nomeU, ".txt");
FILE *f = fopen(Arq,"r");
if (!f)
{
return 0;
}
else
{
return f;
}
}


int main ()
{
FILE *novo = criarContactorUser("texto");
char s[1000];
if(novo == 0)
{
return 1; // nao abriu arquivo
}
while (fgets(s,1000,novo)!=NULL)
printf("%s",s);
fclose(novo);
getchar();
return 0;
}

Se ainda tiver algum erro posta a linha e o comentário que tentaremos resolver

obrigado

Postado

Use o sprintf().....

É bem fácil de usar...

sprintf(string,"texto");

Um exemplo par ao q você quer:


#include <stdio.h>

int main()
{
char arqname[255];

sprintf(arqname,"%s.txt",arqname);
return 0;
}

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...