Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » vergleichen von variablen?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.11.2003, 17:04 Uhr
~NoQ
Gast


tach, ich hab eine funktion geschrieben, welche aus einer datei einen usernamen lesen soll und vergleichet, wenn sie übereinstimmen wird ein true zurück gegeben. aber irgenwas stimmt mit dem vergleichen nicht, die variabeln sind nicht die gleichen, aber ich hab schon alles versucht.


C++:
bool usercheck(char *username)
{
ifstream in("user.dat",ios::in);
   while(!in.eof())
   {
      char ch;
      ch=in.get();
      if(!strcmp(ch,username))
      {
          return(true);
      }
   }
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.11.2003, 17:33 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


du vergleichst ein char mit einem string. Da wird wohl nie das gleiche rauskommen.
Du musst da quasi "gleitend" rübergehen und vergleichen.

wenn du die zeichenfolge "def" aus "abcdefghijk" suchen wolltest würde es dir auch nichts bringen nur a mit def und dann b mit def usw zu vergleichen.

du musst schon abc mit def und dann bcd mit def usw. vergleichen. entweder musst du dir was selber schreiben (die funktion strstr könnte z.b. hilfreich sein) oder du hast glück und es gibt schon so eine funktion in der STL (ich weiss allerdings nicht wie die gegebenenfalls heisst und würde es selber schreiben, weils schneller geht als das dumme suchen danach)
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 10.11.2003 um 17:35 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.11.2003, 18:23 Uhr
~NoQ
Gast


also bei mir wird dieser fehler ausgegeben
C:\Temp\server041103\SERVERTUT.CPP(32) : error C2664: 'strstr' : cannot convert parameter 1 from 'char' to 'const char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast

Error executing cl.exe.

Dieser Post wurde am 10.11.2003 um 19:25 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.11.2003, 18:25 Uhr
~NoQ
Gast


sorry das doppel posting aber ich kann wenn ich nicht registriet editieren


Code:
C:\Temp\server041103\SERVERTUT.CPP(32) : error C2664: 'strcmp' : cannot convert parameter 1 from 'char' to 'const char *'
        
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast

Error executing cl.exe.


Dieser Post wurde am 10.11.2003 um 19:25 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.11.2003, 18:57 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


mmh,
mal so ganz dreckig programmiert ohne das jetzt zu testen sollte das so gehen

C++:
bool usercheck(char *username){
char buf[1000];
std::string str;
ifstream in("user.dat",ios::in);
while(!in.eof()){
in.getline(buf,1000);
str+=buf;
}
in.close();
if(NULL==strstr(str2.c_str(),username))return false; else return true;
}



--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 10.11.2003 um 18:57 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: