C/Visual C - Comparar puntero a char

 
Vista:

Comparar puntero a char

Publicado por Juans (2 intervenciones) el 19/03/2009 01:46:30
Hola gente a ver si alguien me puede ayudar con este codigo:

#include <stdio.h>
#include "getString.h"

int main (){

FILE *archivo;
char *cadena;
int i;
archivo =fopen("archivo.txt","r");
i=0;
while(!feof(archivo)){
getString(&cadena,archivo);
if (cadena[0] == "k" ){ /* ERRORCOMPARACION ENTRE PUNTERO E INTEGER*/
printf("k encontrada");
getch();
}

getch();

}

return 0;
}

El problema es el error que me tira que puse como comentario. La cosa es asi yo levanto una linea dinamica de un archivo con una funcion que hice (getstring) esta anda perfectamente. Bueno una vez levantada la cadena quiero ver si el primer elemento de esta es una k. Probe con todo y no me funca si alguien me puede ayudar se lo agradeceria muchisimo.

Otra cosa que no entiendo porque se asigna por ejemplo cadena[0] = "k" y cadena[0] = "k", no se supone que con * voy al contenido del puntero
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Comparar puntero a char

Publicado por Tom (619 intervenciones) el 19/03/2009 19:30:01
En la comparación, usa comilla simple para especificar al compilador que se trata de un carácter, y no una cadena.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comparar puntero a char

Publicado por jose (21 intervenciones) el 21/03/2009 14:36:21
// comilla simple : comaparcion de caracteres..
if( cadena[0] == 'K ' )
{
}

// comparacion de cadenas.
if( strcmp( cadena , "K" ) == 0 )
{

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar