.Resident. Postado Novembro 3, 2011 Denunciar Share Postado Novembro 3, 2011 (editado) Olá amigos, estou fazendo um programa simples em c, oque estou tentando fazer é grava o conteudo da var frase no arquivo Texto.txtusei o cod assim:#include <stdio.h> #include <stdlib.h> #include <conio.h> void main(){ char frase[][200]={"Alguma frase"}; int i; char *arquivo; FILE *fp; arquivo=("textos.txt"); fp = fopen(arquivo,"w"); for (i=0; i<2; i++){ fputs("%s\n",sitelist[i],fp); //Imprime o conteúdo da var frase no arquivo c:\\Texto.txt } getch(); }Alguém me da uma luz, porque esta dando erro fico grato. Editado Novembro 4, 2011 por .Resident. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mvrocha Postado Novembro 4, 2011 Denunciar Share Postado Novembro 4, 2011 arquivo=("textos.txt"); fp = fopen(arquivo,"w"); O correto seria : arquivo="textos.txt"; fp = fopen(arquivo,"w"); ou diretamente : fp = fopen("textos.txt","w");Sempre uso este ultimo,mas se o primeiro não funcionardeclare arquivo como char arquivo[20];e não como ponteiro, dependendodo compilador pode dar algum Warning.Espero ter ajudado.return 0; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Resident. Postado Novembro 4, 2011 Autor Denunciar Share Postado Novembro 4, 2011 arquivo=("textos.txt"); fp = fopen(arquivo,"w"); O correto seria : arquivo="textos.txt"; fp = fopen(arquivo,"w"); ou diretamente : fp = fopen("textos.txt","w"); Sempre uso este ultimo, mas se o primeiro não funcionar declare arquivo como char arquivo[20]; e não como ponteiro, dependendo do compilador pode dar algum Warning. Espero ter ajudado. return 0; Problema esta na linha 17 fputs("%s\n",sitelist[i],arquivo);aqui ele deveria gravar os dado do vetor sitelist no meu ponteiro chamado de arquivo que aponta e cria o arquivo Textos.txt.E o retorno dele é void esqueci de por Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 General Shepherd Postado Novembro 4, 2011 Denunciar Share Postado Novembro 4, 2011 (editado) Olá amigos, estou fazendo um programa simples em c, oque estou tentando fazer é grava o conteudo da var frase no arquivo Texto.txtusei o cod assim:#include <stdio.h> #include <stdlib.h> #include <conio.h> void main(){ char frase[][200]={"Alguma frase"}; int i; char *arquivo; FILE *fp; arquivo=("textos.txt"); fp = fopen(arquivo,"w"); for (i=0; i<2; i++){ fputs("%s\n",sitelist[i],fp); //Imprime o conteúdo da var frase no arquivo c:\\Texto.txt } getch(); } Alguém me da uma luz, porque esta dando erro fico grato. Vamos por partes: 1°) não entendi porque você criou uma matriz de char ao inve do vetor em char frase[][200]={"Alguma frase"}; use somente char frase[200]="Alguma frase"; 2°) Não declare char *arquivo à menos que você use alocação dinamica. Você não está criando uma string e sim um ponteiro para um char. Use: char arquivo[20]; ou char *arquivo=(char *)malloc(20*sizeof(char)); lembrando de dar um free(arquivo) no final do programa caso use a segunda opção. 3°) Não há a necessidade dos parenteses em arquivo=("textos.txt"); 4°) for (i=0; i<2; i++){ fputs("%s\n",sitelist[i],fp); //Imprime o conteúdo da var frase no arquivo c:\\Texto.txt } Aqui esta o maior problema (ou problemas). Primeiro, perceba que o seu for vai de 0 a 1, ou seja, (se funcionasse)imprimiria a string 2 vezes. Segundo, você não tem nenhuma variavel "sitelist", voce tem a string "frase". Terceiro, não use %s no fputs, ponha apenas a string que deseja imprimir. Uma forma melhor de fazer essa impressao seria: fputs(frase,fp);Perceba que o for nem é necessarioUma dica pra você que esta começando. Procure ler sobre as funcoes e seu parametros antes de usa-las. E também aprenda a interpretar as informações de erro que os compiladores fornecem, uma vez que você saiba o que cada uma diz, você consegue resolver os erros por si mesmo.EDIT: Não é necessario o #include conio.h para esse seu programa Editado Novembro 4, 2011 por General Shepherd Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Resident. Postado Novembro 4, 2011 Autor Denunciar Share Postado Novembro 4, 2011 (editado) Bom oque estou tentando fazer é o seguinte:#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // declara e inicializa um array de strings // veja que definimos o limite de 99 caracteres // por string (uma posição é para o caractere // de fim de linha) char nomes[][100] = {"Osmar J. Silva", "Carlos de Souza", "Fernanda Reis", "Joaquim Alves"}; FILE *fp; char arquivo; arquivo = "lista.txt"; fp = fopen (arquivo,"w+") // vamos exibir os nomes int i; for(i = 0; i < 4; i++){ fputes(nomes[i],fp); } fclose(fp); system("PAUSE"); return 0; }Ou seja quero gravar os nomes gerado pelo array de strings, no arquivo list.txt. figo grato se alguém souber onde estou errando no cod Editado Novembro 4, 2011 por .Resident. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mJi Postado Novembro 5, 2011 Denunciar Share Postado Novembro 5, 2011 fputes(nomes[i],fp); Esta função (fputes) não existe. fp = fopen (arquivo,"w+")Falta um ponto-e-vírgula. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Resident. Postado Novembro 6, 2011 Autor Denunciar Share Postado Novembro 6, 2011 Obrigado resolvi o problema aqui vlw. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
.Resident.
Olá amigos, estou fazendo um programa simples em c, oque estou tentando fazer é grava o conteudo da var frase no arquivo Texto.txt
usei o cod assim:
Alguém me da uma luz, porque esta dando erro fico grato.
Editado por .Resident.Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.