Doubt with strcmp in C

3

I want to make a function to modify a name, password or email, of a user comparing the nick that was already entered in previous steps, but I always get into the Else and I do not understand why ...

void modificarUsuarios(sUsuario input[],int cantidad) //sUsuario es el tipo de estructura que estoy utilizando

{
    int i;
    char auxNick[26];


    printf("ingrese Nombre de nick que desea modificar");
    scanf("%s", auxNick);

    for(i=0; i<cantidad; i++)
    { 
        if(strcmp(input[ i ].nickUsuario,auxNick)==0) 
        {
           //desarrollo.
        }
       else
       {

        }
    }
}//termina función
    
asked by Lucas Medina 06.05.2016 в 16:23
source

1 answer

1

When you do the scanf you need an "&" in "& auxNick".

have you imported the <string.h> library?

It works for me with this code:

#include <stdio.h>
#include <string.h>

struct sUsuario{
char nickUsuario[26];
};
typedef struct sUsuario sUsuario; // DeclaraciÛn del tipo conjunto

void modificarUsuarios(sUsuario input[],int cantidad); 

int main(int argc, char *argv[]) {
    sUsuario input[200];
    fflush(stdin);

    scanf("%s", &input[100].nickUsuario);
    modificarUsuarios(input, 200);
}
void modificarUsuarios(sUsuario input[],int cantidad) //sUsuario es el tipo de 
estructura que estoy utilizando
{
    int i;
    char auxNick[26];
    printf("ingrese Nombre de nick que desea modificar");
    scanf("%s", &auxNick);

    for(i=0; i<cantidad; i++)
    {  
        if(strcmp(input[ i ].nickUsuario,auxNick)==0) 
        {
           printf("Se ha encontrado el usuario en la posición: %d", i);
         }
     }
}
    
answered by 04.06.2016 в 15:04