
char* como parametro de funcion(return)
Publicado por Rafael (17 intervenciones) el 04/07/2016 03:11:47
Buen dia a toda la comunidad, Pues bueno cada cuanto los molesto con algun tema en los cuales me estanco y no se como procesir esta vez estoy aprendiendo los usos de las funciones return tanto cuando devuelven un valor como cuando solo estan para terminar la ejecucion de una funcion, esta vez me he estancado con este ejemplo que ponen en el libro se trata de una funcion que devuelve un substring tu ingresas dos frases y pones una palabra que necesita ser hayada en el un string y esta te dice en que posicion del string se encuentra pues bueno el problema radica en que cuando pongo los string me devuelve un warning que dice que no puedo usar char* en esa secuencia la vez anterior pregunte algo por el estilo y su respuesta fue eso de usar const char* cuando ponga un string. pongo el programa para que me digan en que fallo o que mas puedo leer para ir agarrando mas conocimiento en este ambito de los const char* ya que veo que son muy usados para la programacion a nivel mas profecional:
aca dejo una imagen del error/warning que me sale a la hora de ejecutar el programa.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/*--------------------------------
Aca veremos otro ejemplo de como
usar return en funciones que devuelven
algo.
--------------------------------*/
#include <iostream>
using namespace std;
//prototipo de funciones
int buscar_substr(char* sub,char* str);
int main(){
int index;
index = buscar_substr("uno","uno dos tres cuatro");
cout<<"El index de tres es: "<<index;
// index es
return 0;
}
int buscar_substr(char* sub,char* str){
int t;
char *p,*p2;
for(t=0; str[t]; t++){
p = &str[t]; // resetea el puntero
p2 = sub;
while(*p2 && *p2==*p ){
p++;
p2++;
}
if(!*p2) return t; // retorna el index
}
return -1;// cuando no encuentra string que encajen
}
aca dejo una imagen del error/warning que me sale a la hora de ejecutar el programa.

Valora esta pregunta


0