Avatar billede Slettet bruger
29. august 2006 - 09:20 Der er 13 kommentarer og
1 løsning

Splite strenge

Hej eksperter!

Hvordan kan man nemmest splitte strenge i C++?
Hvis jeg nu f.eks. vil tildele strengen foersteStreng til værdien af enStreng fra første char til (og ikke med) første forekomst af =.
Kan dette gøres forholdvis nemt?
Avatar billede tokelil Nybegynder
29. august 2006 - 11:00 #1
Det kommer vel an på hvilken streng klasse du bruger? std::string? CString? C string?
Avatar billede Slettet bruger
29. august 2006 - 19:41 #2
C++... En ganske almindelig "string" i cpp.
Avatar billede arne_v Ekspert
29. august 2006 - 21:46 #3
du skal vel lege lidt med find og substr metoderne saa

STL string har saa vidt jeg ved ikke noget der svarer til strtok
Avatar billede Slettet bruger
29. august 2006 - 22:04 #4
WHAAAT?
Hvad er find, substr, STL string og strtok?!
Forklar venligst...
Avatar billede arne_v Ekspert
29. august 2006 - 22:13 #5
STL string = std::string = normal C++ string

find og substr er 2 metoder i den klasse

strtok er en C funktion som bruger char*
Avatar billede arne_v Ekspert
29. august 2006 - 22:17 #6
string s = "abcde";

saa vil s.find("cd") returnere 2

og s.substr(2,2) vil returnere en string med "cd"
Avatar billede Slettet bruger
30. august 2006 - 13:04 #7
I <string>-includen?
Avatar billede arne_v Ekspert
31. august 2006 - 04:28 #8
Nej - i din kode
Avatar billede Slettet bruger
01. september 2006 - 13:17 #9
Lol... Jeg mener, hvilken include den skal bruge.
Avatar billede Slettet bruger
01. september 2006 - 13:18 #10
Altså: Om den bare skal bruge <string>?
Avatar billede arne_v Ekspert
02. september 2006 - 01:23 #11
string er nok
Avatar billede Slettet bruger
02. september 2006 - 07:57 #12
Okaj, nice...
Takker! Bare smid det svar ;)
Avatar billede arne_v Ekspert
03. september 2006 - 02:11 #13
et lille eksempel:

#include <iostream>
#include <string>

using namespace std;

void split(string s)
{
    string::size_type ix = s.find('=');
    cout << "|" << s.substr(0, ix) << "|" << endl;
    cout << "|" << s.substr(ix+1) << "|" << endl;
}

int main()
{
    split("a=b");
    split("c d=e f");
    return 0;
}

og et svar
Avatar billede Slettet bruger
03. september 2006 - 16:53 #14
og tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester