tengo una función para leer una variable que contiene una cadena que luego es comparada con una expresión regular:
Código:
Posteriormente, deseo enviar la variable "string" a otra función para ser verificada de otra forma:int test_cadena(const char * strings) { static CRegexpT <char> regexp1("^[a-z,A-Z]$"); MatchResult result1 = regexp1.MatchExact(strings); .............. .............. ..............
Código:
Pero........ el clásico problema de no poder convertir de Char a Char*, el problema es en el comando Switch.int reservadas(const char * string2) { switch(string2) { case 'IF': case 'if': case 'IF': $regresa= "IF"; break; ............... ............... ............... } }
Les adjunto un poco más de código:
Código:
Gracias por su apoyo #include <iostream> #include "deelx.h" #include "conio.h" #include "stdio.h" #include <string.h> #include <stdlib.h> int reservadas(const char * string2) { char * regresa; switch(string2) { case 'IF': case 'if': case 'IF': regresa= "IF"; break; case 'THEN': case 'then': case 'THEN': regresa= "THEN"; break; } return regresa } //DEFINIENDO FUNCION COMPARADORA DE PARAMETROS int test_cadena(const char * strings) { static CRegexpT <char> regexp1("^[a-z,A-Z]$"); MatchResult result1 = regexp1.MatchExact(strings); static CRegexpT <char> regexp2("^_$"); MatchResult result2 = regexp2.MatchExact(strings); if(result1.IsMatched() || result2.IsMatched()) { if(result1.IsMatched()) { return 1; }else if(result2.IsMatched()) { return 2; } } else { return 0; } } int main(int argc, char * argv[]) { char * str1 = ""; gotoxy(10,5);printf("Ingrese la palabra a verificar : "); cin>>str1; char numero; numero = test_cadena(str1); switch(numero) { case 0: printf("'%s' => %s\n", str1, "Desconocido"); break; case 1: printf("'%s' => %s\n", str1, "Letra"); break; case 2: printf("'%s' => %s\n", str1, "UnderLine"); break; } getch(); return 0; }