SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: alex1510 en Miércoles 28 de Octubre de 2009, 14:17
-
Hola buenas.
Tengo el siguiente código que lo que quiero es que me divida la frase en palabras, y si en la frase encuentra cierta palabra, pues entre en un case. Por ejemplo, si encuentra PARTNUMBER, que me cree una variable con el nombre PARTNUMBER y le asigne el valor F551-82720-000.Gracias
#include <stdio.h>
#include <string.h>
int main()
{
char cadena[]= "2009.04.17 15:14:01 PARTNUMBER F551-82720-000";
char *ptrToken;
printf("%sn%snn%sn", "La cadena a dividir en tokens es : ", cadena,
"Los tokens son: ");
ptrToken=strtok(cadena, " " );
while (ptrToken !=NULL) {
printf( "%sn", ptrToken);
switch (ptrToken)
{
case 'PARTNUMBER' //Me dice que ptrToken en muy largo, y si hago ptrToken=palabra, y el switch con palabra no sale
ptrToken = strtok(NULL, " ");
}
system("PAUSE");
return 0;
}
-
switch solo trabaja con numeros enteros (un caracter es un numero, 4 caracteres son lo maximo que puede representar un entero en 32 bits - uno por cada byte -).
http://msdn.microsoft.com/en-us/library ... 80%29.aspx (http://msdn.microsoft.com/en-us/library/k0t5wee3%28VS.80%29.aspx" onclick="window.open(this.href);return false;)
Mejor usa strcmp (cuidado que es case sensitive).