Miért csak egyszer fut le a ciklus? C++.
Itt a kód.
A kimenetben csak a 10 látni.
Úgyhogy egyszer fut le de miért?
Itt a kód:
//main.cpp
#include<iostream>
#include<string>
#include<vector>
#include<sstream>
using std::cout;
using std::string;
using std::vector;
using std::stringstream;
typedef unsigned short ushort;
int main()
{
vector <string> vSzavak;
stringstream s;
for(ushort i = 0; i < 10; ++i)
{
string temp;
s << (i+1)*10;
s >> temp;
vSzavak.push_back(temp);
cout << vSzavak[i] << ' ';
}
return 0;
}
Azt a feladatot találtam ki hogy 10 darab intet átkonvertálok stringé és bele teszem a vectorba majd ki íratom.
Lehet valahogy egyszerűbben megoldani amúgy.
Előző.
Már hogy a f*szba kerülhet sor a vektorba elmondanád?
Nézd meg jobban:
for(ushort i = 0; i < 10; ++i)
{
string temp; //A temp be csakis numerikus érték kerülhet és ezt rakom bele a vektorba.
s << (i+1)*10;
s >> temp;
szavak.push_back(temp);
cout << szavak[i] << ' ';
}
Miért csak akkor működik jól ha a stringstreamot újra létrehozom?
Így jó:
for(ushort i = 0; i < 10; ++i)
{
stringstream s;
string temp;
s << (i+1)*10;
s >> temp;
szavak.push_back(temp);
cout << szavak[i] << ' ';
}
Így pedig rossz:
stringstream s;
for(ushort i = 0; i < 10; ++i)
{
string temp;
s << (i+1)*10;
s >> temp;
szavak.push_back(temp);
cout << szavak[i] << ' ';
}
Miért van az hogy a szavak[i] után a ' ' között megadott karakterke kerülnek bele a vector első utáni elemeibe?
"Hogy a f*szba futna már le az a sima számlálós ciklus egyszer? :D
Akármit csinálsz a ciklusmagban, az még 10szer fut le, csak sima szóközöket raksz bele a vektorba, és nem semmit nem ír ki, hanem egy nyamvadt szóközt ír ki."
Aki ezt írta ez hagyja figyelmen kívül a 01:46 kommentemet.
De aztis leírhattad volna hogy miért.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!