infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: theo .c din Februarie 13, 2012, 12:39:13



Titlul: Răspuns: 000 Cuvinte
Scris de: theo .c din Februarie 13, 2012, 12:39:13
Am si eu o intrebare legata de scoaterea cuvintelor dintr-un text .
Mi se da un text pe mai multe linii si eu vreau sa ii scot cuvintele in stringuri, pot sa o fac si muncitoresc cu niste if-uri, dar vreau sa o fac cu functia strtok si poinetri infine eu am chestia asta:

Cod:
void cit()
{
char *p;
while(!fin.eof())
{

i++;
fin.get(s[i],1600);

fin.get();
strcpy(p,s[i]);
p=strtok(p,separator);
while(p)
{
strcpy(nrcuv[++j],p);
fout<<nrcuv[j]<<'\n';
p=strtok(NULL,separator);
}
}
}
Daca am doar un rand merge ok. probabil e o problema cu poinetrul  cand se reia pe care oricum nu stiu sa o rezolv.


Titlul: Răspuns: Răspuns: 000 Cuvinte
Scris de: Laurentiu Ion din Martie 10, 2012, 18:47:39
poti folosi stringstream pentru tot fisierul, de unde poti citi cuvant cu cuvant

Cod:
#include<string>
#include<sstream>
string t="un text"
stringstream ss(t);
si citesti un cuvant cu
Cod:
ss>>s;

http://cppreference.com