Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dmer

[Resolvido] return de função ser string ?

Recommended Posts

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

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
resolvido é só fazer ele dar ponteiro para string

char *procura(char result[30]) ....

grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.