.Resident. Posted November 3, 2011 Report Share Posted November 3, 2011 (edited) 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. Edited November 4, 2011 by .Resident. Quote Link to comment Share on other sites More sharing options...
0 mvrocha Posted November 4, 2011 Report Share Posted November 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; Quote Link to comment Share on other sites More sharing options...
0 .Resident. Posted November 4, 2011 Author Report Share Posted November 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 Quote Link to comment Share on other sites More sharing options...
0 General Shepherd Posted November 4, 2011 Report Share Posted November 4, 2011 (edited) 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 Edited November 4, 2011 by General Shepherd Quote Link to comment Share on other sites More sharing options...
0 .Resident. Posted November 4, 2011 Author Report Share Posted November 4, 2011 (edited) 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 Edited November 4, 2011 by .Resident. Quote Link to comment Share on other sites More sharing options...
0 mJi Posted November 5, 2011 Report Share Posted November 5, 2011 fputes(nomes[i],fp); Esta função (fputes) não existe. fp = fopen (arquivo,"w+")Falta um ponto-e-vírgula. Quote Link to comment Share on other sites More sharing options...
0 .Resident. Posted November 6, 2011 Author Report Share Posted November 6, 2011 Obrigado resolvi o problema aqui vlw. Quote Link to comment Share on other sites More sharing options...
Question
.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.
Edited by .Resident.Link to comment
Share on other sites
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.