• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

froskes

Criar ficheiro com nome da variável

11 mensagens neste tópico

Boas pessoal e obrigado pelo tempo desde já.

O caso é o seguinte, preciso de fazer um ciclo que me crie 10 ficheiros com o conteúdo igual.

Existe alguma maneira de mudar o nome do ficheiro consoante o valor da variável do ciclo?

Algo que se fosse simples era do tipo:

for(i=0;i<5;i++)

{

  FILE *file;

  file = fopen ("testei.txt", "w");

}

Obrigado, cumprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
char nums[] = "01234";
for(i=0;i<5;i++)
{
FILE *file;
file = fopen("teste"+nums[i]+".txt","w");
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

file = fopen("teste"+nums[ i]+".txt","w");

Isso dá-me erro. Se fosse em Java aí a coisa já era diferente...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso o quê?

Lol... ups...

char nums[] = "01234";
char str[]= "teste-.txt";
for(i=0;i<5;i++)
{
FILE *file;
str[5]=nums[i];
file = fopen(str,"w");
}

Esqueci-me que não podia concatenar strings com +

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Neste caso não há necessidade pois o número nunca tem mais de 1 algarismo, caso contrário podiam o usar o sprintf para gerar a string.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em grande! É exactamente isso pessoal, muito obrigado pela ajuda e pela rapidez.

Mas só por curiosidade, se precisar não de 10 mas de 100 ficheiros, por exemplo?

Bastará pôr 1 ciclo a de 0 a 99 em que vai adicionando o valor de 'i' ao array, certo?

Muito obrigado mesmo pela velocidade :D

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em grande! É exactamente isso pessoal, muito obrigado pela ajuda e pela rapidez.

Mas só por curiosidade, se precisar não de 10 mas de 100 ficheiros, por exemplo?

Bastará pôr 1 ciclo a de 0 a 99 em que vai adicionando o valor de 'i' ao array, certo?

Muito obrigado mesmo pela velocidade :D

Cumprimentos

Certo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quando o número tiver mais do que um algarismo, tal como já referi, não é tão simples... Aí o sprintf dá uma ajuda.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esqueci-me desse pormenor, é como o Rui Carlos disse.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado, mas foi só por curiosidade... até 25 sempre posso utilizar letras :D

Obrigado a todos. Está resolvido.

Cump

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora