The UNIX and Linux Forums  


Go Back   De Unix-en Linux Forum > Top Forums > Hoog Niveau Programmering
.
google unix.com



Hoog Niveau Programmering Post vragen over C, C + +, Java, SQL, en andere programmeertalen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Een programma voor het opsporen van de uitvoering van een ander programma jiten_hegde Hoog Niveau Programmering 3 08-19-2008 06:26
strtok equivalent in perl jisha Programmeren en Shell Scripting 1 05-06-2008 04:38
Regardign strtok () output leiden tot 2-D string array SankarV Hoog Niveau Programmering 3 04-28-2008 10:48
Strtok functie .... Tanvirk Linux 3 01-24-2008 10:16
betere manier dan strtok? Annie Hoog Niveau Programmering 7 10-05-2005 03:01 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 10-04-2008
sathishkmrv sathishkmrv is offline
Geregistreerde gebruiker
  
 

Join Date: Sep 2007
Posten: 6
Hoe gebruik strtok tweemaal in hetzelfde programma?


Code:
       string str1(" 1 2 3 4 512543 ");
                 string str2;
                 if(str2.empty())
                        str2=str1;
                cout << "str2:" <<str2 <<endl;
                p1=strtok((char *)str1.c_str()," ");
                while(p1)
                {
                        v1.push_back(atoi(p1));
                cout << "val of p1 " << p1 << endl;
                 p1=strtok(NULL," ");
                }
                cout << "size of v1 " << v1.size() <<endl;
                p2=strtok((char *)str2.c_str()," ");
                cout << "str2:" <<str2 <<endl;
                while(p2)
                {
                        v2.push_back(atoi(p2));
                        cout << "val of p2 " << p2 <<endl;
                        p2=strtok(NULL," ");
                }

                cout << "size of v2" << v2.size() <<endl;

Ik krijg de volgende o / p.


Code:
str2: 1 2 3 4 512543 
val of p1 1
val of p1 2
val of p1 3
val of p1 4
val of p1 512543
size of v1 5
str2: 1234512543
val of p2 1
after tok p2  
size of v21

Ik wil str2 ook worden tokenized. Maar strtok na het bereiken NULL zodra zij retourneert alleen NULL pointer telkens wanneer deze wordt geopend met behulp van NULL.

Hoe kan ik van tokens str2 nu?

Bedankt
  #2 (permalink)  
Old 10-04-2008
geducht redoubtable is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2008
Locatie: Portugal
Posts: 242
Ik begrijp niet de noodzaak van het gebruik van strtok () voor uw probleem. Hoe dan ook, het antwoord is gewoon heel de handleiding voor strtok (3):
Citaat:
BUGS
Vermijd het gebruik van deze functies. Als je er gebruik van maken, dat:

Deze functies wijzigen hun eerste argument.

Deze functies kunnen niet worden gebruikt op constante strings.

De identiteit van de afbakening van karakter verloren gaat.

De strtok ()-functie maakt gebruik van een statisch buffer bij het parseren, dus het is niet veilig draad. Gebruik strtok_r () als deze zaken voor u zijn.
Als u uw code in het werk, je kon truc de compiler deze manier:

Code:
// ...
       string str1(" 1 2 3 4 512543 ");
                 string str2;
                 if(str2.empty())
                 {
                        str2=str1;
                        str2.insert(0, ""); // now, you tell me why this apparently solves your problem!
                 }
                cout << "str2:" <<str2 <<endl;
                p1=strtok((char *)str1.c_str()," ");
// ...

  #3 (permalink)  
Old 10-04-2008
sathishkmrv sathishkmrv is offline
Geregistreerde gebruiker
  
 

Join Date: Sep 2007
Posten: 6
Hoe gebruik strtok tweemaal in hetzelfde programma?

Ja. Het werkte!
Maar hoe is de invoeging van
Code:
str2.insert(0, "");

het probleem?
De manpagina suggereert ook dat het niet raadzaam om te gebruiken.
  #4 (permalink)  
Old 10-07-2008
Saurabh78 Saurabh78 is offline
Geregistreerde gebruiker
  
 

Join Date: juni 2004
Posts: 40
beter gebruik strtok_r
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 08:21 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0