Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Strings und chars vergleichen

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
15.02.2006, 21:51 Uhr
~Newbee92
Gast


Hallo Leute,
bin 13 Jahre alt und habe erst vor kurzem mit dem Programmieren angefangen. Jetzt habe ich bei den Dateiströmen ein Problem:


Code:
#include <iostream>
#include <string>
#include <fstream>
ifstream read;
string text = "abc";
char text1;
string pfad = "C:\\temp2.txt";
read.open(pfad.c_str(), ios_base::in);
if(!read)
{
  cout << "Datei konnte nicht geoeffnet werden!" << endl;
}
while ( !read.eof() )
    {
      read.get(text1);
    }
if (text1 == text)
{
  cout << "Text identisch!" << endl;
}

else
{
  cout << "Text nicht identisch!" << endl;
}

return 0;
}


Mein Problem ist jetzt nur, dass ich die char-Variable (text1) nicht mit dem string (text) vergleichen kann. Mein Ziel ist es nämlich, den Text aus einer Textdatei zu lesen, ihn in eine string-Variable zu packen und sie mit der char-Variable zu vergleichen. Dies klappt aber nicht Und das blöde ist, dass die get-Funktion nur mit char-Variablen möglich ist
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.02.2006, 22:15 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi char ist ein zeichen, keine zeichenkette. benutze read.getline, das akzeptiert einen string als parameter, string und string lassen sich vergleichen.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.02.2006, 06:56 Uhr
~newbee92
Gast


Vielen Dank
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.02.2006, 16:13 Uhr
-Biohazard-



Hallo liebe Programmierer,
ich habe mich nun erstmal angemeldet. Leider bekomme ich trotzdem eine Fehlermeldung, wenn ich nach dem Ratschlag gehe und statt dem read.get(text1), read.getline(text1) schreibe. Ich benutze den Borland Compiler.


Zitat:
"cd.cpp": E2285 Keine Übereinstimmung für 'istream::getline(string)' gefunden in Funktion main() in Zeile 192


Was kann ich da machen?

Danke,
-Biohazard-

\\Edit: Es lag an der Syntax - nicht read.getline(text1), sondern getline(read, text1)
Trotzdem danke
--

Dieser Post wurde am 16.02.2006 um 16:20 Uhr von -Biohazard- editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
16.02.2006, 16:49 Uhr
Pler
Einer von Vielen
(Operator)


Mit der Fehlermeldung kann ich jetzt zwar nichts anfangen, aber
getline verwendest du am einfachsten so

Code:
std::getline( read , text1 );



Da brauchst du dich auch nicht um den Speicher kümmern.
Sonst sollte das eingntlich immer funktionieren.

Dieser Post wurde am 16.02.2006 um 16:49 Uhr von Pler editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
16.02.2006, 17:46 Uhr
xXx
Devil


ich vermute mal das er den 1. Param vergessen hat ;D
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


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: