I am sorting my array of car two ways. one by year which is shown below. and another one by make. Make is a char* How do I compare strings when I just have pointers to the
I'm of course assuming here you have char * for the car makes
int i, j;
for(i=0; i<100; i++){
for(j=0; j<100-i; j++){
if(carArray[i]!=NULL && carArray[j]!= NULL && carArray[j+1]!=NULL){
if(strcmp(carArray[i]->make, carArray[j+1]->make) == 0)
{
//Do whatever here
}
}
}
}
You want to compare against 0 because strcmp will return 0 if there is no difference between the two strings.
strcmp takes two const char *.
http://www.cplusplus.com/reference/clibrary/cstring/strcmp/
In pretty much either one, the way is to call strcmp. If your strings (for some weird reason) aren't NUL terminated, you should use strncmp instead.
However, in C++ you really shouldn't be manipulating strings in char arrays if you can reasonably avoid it. Use std::string instead.