manvix 0 Denunciar post Postado Junho 16, 2008 oi pessoal estou com um problema e nao consigo sair daki. tenho um trabalho em C ke e pra ler um ficheiro mostrar o numero de linhas ,o numero de palavras, kuantas vezes ela repete e escrever numa lista. O meu codigo esta assim: // Novo projecto.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct estrutura { // estrutura q vai guarda todas as palavras do texto char atual[20]; // vai receber a palavra atual int num; // posicao da palavra atual } estrutura; char nome[1]; int ficheiro; estrutura palavra[500]; // vai guardar todas as palavras do testo, supondo q sao 500 int posicao = 0; // posicao no vetor FILE *leitura; // ponteiro para arquivo void lerArquivo (void) { // funcao q vai abrir o arquivo printf ("\n\n Por favor introduza o nome do ficheiro com sua extensao \n\n"); scanf("%c",nome); leitura = fopen(nome,"r"); if ((leitura) == NULL) { printf ("\n\n Impossivel abrir o ficheiro \n\n"); exit(0); } } void buscarPalavra(void) { char ch = ' '; // inicializa ch com caractere invalido int pos = 0; while ((ch = fgetc(leitura)) != EOF) { if (ch == '\0') { palavra[posicao].atual[pos] = '\0'; // termina a string posicao++; // proxima palavra pos = 0; } else { // ler caractere do arquivo e concatena em atual palavra[posicao].atual[pos] = ch; pos++; } } } void main(void) { lerArquivo(); buscarPalavra(); } sera ke alguem poderia me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 16, 2008 olha uma coisa q naum entendi foi isso: printf ("\n\n Por favor introduza o nome do ficheiro com sua extensao \n\n"); scanf("%c",nome);ai num vai caber um nome com extensao neh xD!e + uma coisa: fazer isso 'e feio cai o dedo: char nome[1];faca simplesmente isso: char nome; //c bem q tem q ser uma string pois vai armazenar uma palavra!ow:char nome[2]; . . nome[0] = 'a'; nome[1] = '\0' []'s Compartilhar este post Link para o post Compartilhar em outros sites
manvix 0 Denunciar post Postado Junho 16, 2008 olha uma coisa q naum entendi foi isso: printf ("\n\n Por favor introduza o nome do ficheiro com sua extensao \n\n"); scanf("%c",nome);ai num vai caber um nome com extensao neh xD!e + uma coisa: fazer isso 'e feio cai o dedo: char nome[1];faca simplesmente isso: char nome; //c bem q tem q ser uma string pois vai armazenar uma palavra!ow:char nome[2]; . . nome[0] = 'a'; nome[1] = '/0' []'s oi eu percebi a parte do scanf("%c",nome) ke passa para scanf("%s",nome) na parte do char era para o programa identificar o nome como uma string nao como um caractere pk ele esta a dar erro se ficar so char nome;. E o ke mais eu posso fazer? Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 16, 2008 bom c você qr q seja uma string tem q definir um tamanho para ela! tipo: char nome[25]; Compartilhar este post Link para o post Compartilhar em outros sites