How How How???!!!!

Please support our C++ advertiser: Intel Parallel Studio Home
Reply

Join Date: Apr 2007
Posts: 40
Reputation: rapperhuj is an unknown quantity at this point 
Solved Threads: 0
rapperhuj rapperhuj is offline Offline
Light Poster

How How How???!!!!

 
0
  #1
Apr 17th, 2007
HOw do you compare 2 strings without using strcmp...???

would u please give me an example and how it will work..



THNK YOU Very Much!!
Reply With Quote Quick reply to this message  
Join Date: Apr 2007
Posts: 3
Reputation: wise_monkey is an unknown quantity at this point 
Solved Threads: 0
wise_monkey wise_monkey is offline Offline
Newbie Poster

Re: How How How???!!!!

 
0
  #2
Apr 17th, 2007
you could try implementing your own version of strcmp?

strcmp() maintains two pointers to char, one for the first string, one for the second - it compares the values of what the pointers point to (ie the value of the char currently being pointed to) - if this value is zero (i.e. equal) then it increments the pointers and compares the next pair of bytes.

otherwise it returns with either a positive or negative value.

as far as I know strcmp() will return positive or negative based only on the first pair of bytes.

does that help?
Reply With Quote Quick reply to this message  
Join Date: Jul 2005
Posts: 1,755
Reputation: Lerner is a name known to all Lerner is a name known to all Lerner is a name known to all Lerner is a name known to all Lerner is a name known to all Lerner is a name known to all 
Solved Threads: 283
Lerner Lerner is offline Offline
Posting Virtuoso

Re: How How How???!!!!

 
0
  #3
Apr 17th, 2007
Of course the other way is to use STL string objects and just use the overloaded logic operators built into the class, but I don't think that's quite what your question meant.
Reply With Quote Quick reply to this message  
Join Date: Dec 2005
Posts: 5,850
Reputation: Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute Salem has a reputation beyond repute 
Solved Threads: 751
Team Colleague
Salem's Avatar
Salem Salem is offline Offline
Void main'ers are DOOMed

Re: How How How???!!!!

 
0
  #4
Apr 17th, 2007
Reply With Quote Quick reply to this message  
Join Date: Apr 2007
Posts: 40
Reputation: rapperhuj is an unknown quantity at this point 
Solved Threads: 0
rapperhuj rapperhuj is offline Offline
Light Poster

Re: How How How???!!!!

 
-1
  #5
Apr 17th, 2007
[qoute]SIr thnk you for a wonderful advice..


Ahmm.. briefly how will i operate the program correctly if the output of my program is always at the first line only of my database...

example... my problem is i will type a country code:

OUTPUT:

Enter Country Code : US (e.g.)

/* the answer will be like this.. */

United States: Digicel, Movistar and other telephone companies in that country,,

MY OUTPUT:

Enter Country Code: US(e.g.)

Afghanistan //this is always the reply of my input..



(at my database)

hmmm. it is something like this...

AF - Afghanistan
AX- Aland islands
......
PH - Philippines: Cure, Globe, Smart, Sun
US - United States: Digicel, Movistar etc...




/*my program is like this..
Hope u can help me..*/



#include<iostream>
#include<string>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
char code[5];
char whole[800];
cout << "\n\n\tType the Country Code: \t\t ";
cin >> code;
FILE *f;
f=fopen("countrycode.csv", "r");
if(f==NULL) cout<< "cant open";
else
{
while(fgets(whole,800,f)!=0)
{
int a=0, i;
char delimeter[]="-\"", who[800][800];
char *huj=strtok(whole, delimeter);
while(huj!=NULL)
{
strcpy(who[a],huj);
if(a++>=sizeof who/ sizeof *who)
{
break;
}
huj=strtok(NULL, delimeter);
}
for (i=0; i<a; i++)
{
if(strcmp(code,who[1])!=0)
{
strcmp(code,who[1]);
cout << who[1]<<endl;
exit(1);
}
else
{ cout << "INVALID!!!";
exit(1);
}
} }
fclose(f);
}
return 0;
}
Reply With Quote Quick reply to this message  
Join Date: Apr 2007
Posts: 3
Reputation: wise_monkey is an unknown quantity at this point 
Solved Threads: 0
wise_monkey wise_monkey is offline Offline
Newbie Poster

Re: How How How???!!!!

 
0
  #6
Apr 18th, 2007
It looks like in the loop:

  1. for( i=0; i<a; i++)
  2. {
  3. if(strcmp(code, who[1])!= 0)
  4. {
  5. strcmp(code, who[1]);
  6. cout << who[1] << endl;
  7. exit(1);
  8. }
  9. }

might be your problem - why are you only comparing code with who[1]. If you do that, then yes you will always get "Afghanistan" as your output...
Should who[1] be who[i] perhaps?

Can you explain a bit more what it is your attempting to do?

best wishes
wise_monkey
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Other Threads in the C++ Forum


Views: 958 | Replies: 5
Thread Tools Search this Thread



Tag cloud for C++
About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC