Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » String bearbeiten

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
28.11.2006, 21:23 Uhr
~fnord
Gast


Hi, ich habe in Problem, und zwar hab ich ein einer Variable einen String stehen:
"Name: Peter" nun möchte ich "Name: " rausfiltern, also das ich danach nurnoch "Peter" in der Variable stehen habe.

mein kläglicher Versuch:


C++:

FILE *namefile;
  
    namefile = fopen ("C:\\name.txt", "r");
    if (namefile != NULL)
    {
      fscanf (namefile, "%70c",name);
      fclose (namefile);
    }
    DeleteFile("C:\\name.txt");
    name.replace("Name: ", "");




ABer da gibts compilier fehler, dass ist auch das einzigste was ich finden konnte.

Könnte mir jemand sagen, wie man das nun richtig filtern kann?

Danke schonmal,

mfg fnord
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
28.11.2006, 21:31 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


kannst du den "Sinn" noch ein bisschen genauer erklären"...

Wenn du schon weisst das Peter drin steht, warum willst du denn noch danach suchen? Interessiert dich die Stelle an der Peter steht oder willst du wissen ob Peter drin steht...

Wilslt du einfach nur den namen ersetzten? Wenn Name ein std::string ist warum gehst du dann mit irgendwelchen krummen c-methoden an die sache ran?

Ich vermute mal was du brauchst ist die mehtode find von std::string... mit z.B: substr oder replace kannst du dann darin rumbaslten...


zum einlesen würde ich dann std::ifstream statt fopen verwenden...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
28.11.2006, 21:43 Uhr
~fnord
Gast


Nein, also es ist immer unter schiedlich mal steht in der Variable "Name: Peter"
manchmal "Name: Hans"

aber das weis ich ja net, das ist ja ne user eingabe, die aus einer .txt file Ne zeile heisst dort "Name: IrgendeinName"

Da ich aber nur den name haben will muss das "Name: " rausgefiltert werden.

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
28.11.2006, 23:35 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Das einlesen musst du aber selbst machen:

C++:
#include <iostream>
#include <string>

std::string getName(std::string, std::string);

int main(int argc,char* argv[])
{
        std::string s = "Name: test Name";
        std::cout << getName(s, "Name: ") << std::endl;
        std::cin.get();
        return EXIT_SUCCESS;
}

std::string getName(std::string s, std::string sign)
{
        return s.substr(sign.length(), s.length());
}

--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
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: