dmer 0 Denunciar post Postado Maio 29, 2008 estou tentando fazer que uma função retorne uma string com o código #include <stdio.h> #include <stdlib.h> char procura(char result[30]); main(){ char string[20]; printf("digite o que quer procurar no arquivo:"); scanf("%s",string); printf("%p",procura(string)); //tenho que colocar %p senao dah core dump } char procura(char result[30]) { FILE *fp; int done=0; char conteudo[200]; char *p2; char resultstring[30]; if(!(fp=fopen("qualquer.conf","r+"))) {printf("arquivo n encontrado\n"); exit(1);} while(!feof(fp)) {fgets(conteudo,sizeof(conteudo),fp); if(p2 = strstr(conteudo,result)) {strcpy(resultstring,p2);return *resultstring;goto end;} // tenho que por resultstring como ponteiro senao dah erro fopenfunc.c:18: warning: return makes integer from pointer without a cast } end: fclose(fp); }princípio é bem simples quero simplificar procura dentro de arquivos. Pois fazer um if e while toda vez que for procurar algo dentro seria custoso. grato qualquer ajuda Compartilhar este post Link para o post Compartilhar em outros sites
dmer 0 Denunciar post Postado Maio 29, 2008 estou tentando fazer que uma função retorne uma string com o código #include <stdio.h> #include <stdlib.h> char procura(char result[30]); main(){ char string[20]; printf("digite o que quer procurar no arquivo:"); scanf("%s",string); printf("%p",procura(string)); //tenho que colocar %p senao dah core dump } char procura(char result[30]) { FILE *fp; int done=0; char conteudo[200]; char *p2; char resultstring[30]; if(!(fp=fopen("qualquer.conf","r+"))) {printf("arquivo n encontrado\n"); exit(1);} while(!feof(fp)) {fgets(conteudo,sizeof(conteudo),fp); if(p2 = strstr(conteudo,result)) {strcpy(resultstring,p2);return *resultstring;goto end;} // tenho que por resultstring como ponteiro senao dah erro fopenfunc.c:18: warning: return makes integer from pointer without a cast } end: fclose(fp); }princípio é bem simples quero simplificar procura dentro de arquivos. Pois fazer um if e while toda vez que for procurar algo dentro seria custoso. grato qualquer ajudaresolvido é só fazer ele dar ponteiro para stringchar *procura(char result[30]) .... grato Compartilhar este post Link para o post Compartilhar em outros sites