int do string

whitlock

Użytkownik
Dołączył
Czerwiec 20, 2008
Posty
25
Chodzi mi o to aby przypisać wartości zmiennej int do stringa. W moim programie mam string czas, do którego muszę przypisać int sekundy. Szukałem w necie, ale tam było tylko o przypisaniu znaków char do stringa. Czy ktoś wie jak to zrobić ?
<
 

KangurX

Użytkownik
Dołączył
Lipiec 4, 2008
Posty
281
struct_cast<typ>(zmienna) - to jest konwersja typow
smile.gif
jak nie o to chodzi to opisz bardziej szczegolowo
 

unlock

Użytkownik
Dołączył
Czerwiec 16, 2008
Posty
128
chodzi ci o zwyczajne przypisanie zmiennej wartosci z innej zmiennej ?
 

___Dreamer___

Użytkownik
Dołączył
Czerwiec 25, 2008
Posty
5
Jest wiele sposobów, można również tak:
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>#include <iostream>
#include <sstream>

int main()
{
int zmienna;
std::string string;
std::stringstream stringstream;
std::cin >> zmienna;
stringstream << zmienna;
stringstream >> string;
std::cout << string << std::endl;
system("pause");
}</div>
 

grzonu

Były Moderator
Dołączył
Grudzień 26, 2006
Posty
1390
a ja proponuje

int czas;
//przypisz tu czas
char c_czas[25]; //zaszalejmy z wielkoscia
sprintf(c_czas,"%i",czas);
std::string str=c_czas;
 

whitlock

Użytkownik
Dołączył
Czerwiec 20, 2008
Posty
25
Dzięki wszystkim. Struct_cast ani reintrepted(czy coś)_cast nie działają. Zrobiłem tak jak mo Grzonu polecił i działa. Mam jeszce jeden problem. Mó program uruchamia się wraz z systemem i wie ktoś jak zrobić żeby nie włączał mi się w konsoli tylko jako zasobnik systemowy ( czyli tak jak np. avast czy jakiś firewall). Program miałby dopiero się uruchomić w konsoli jak na niego by kliknąc ?
<
 

marccinn

Użytkownik
Dołączył
Grudzień 5, 2007
Posty
19
Musisz się pobawić troszkę w WINAPI, tam są różne opcje do tego. Osobiście nigdy tego nie robiłem, ale wiem że to się da zrobić w kilku linijkach
smile.gif
 

grzonu

Były Moderator
Dołączył
Grudzień 26, 2006
Posty
1390
polecam ten artykuł dotyczacy traya
http://darkcult.gamedev.pl/kursy/apitray.html

a %i oznacza ze jako parametr podajemy int jakbym napisał %s to bym podawał char* mozna tworzyć bardziej złozone twory np. spritf(bufor,"czas: %i:%i %s",minuty,sekundy,"GMT");

i w buforze pojawi sie "czas: 12:12 GMT" zakladajac ze minuty i sekundy = 12
 

whitlock

Użytkownik
Dołączył
Czerwiec 20, 2008
Posty
25
Mam jeszcze jedno pytanie dotyczące mojego programu. Jak zrobić żeby powtarzał on jakieś operacje co sekundę i
pokazywał aktualny czas ? - w sensie zmieniał się też co sekundę . Wiem jak zrobić aby pokazał czas ale tylko jednorazowo, czyli po jednokrotnym uruchomieniu programu.
 

grzonu

Były Moderator
Dołączył
Grudzień 26, 2006
Posty
1390
timer jest bardziej pamieciozerny.
lepiej zrobic nieskonczona petle a w niej Sleep(1000); i to wszystko umieścic w wątku
 

sinis

Użytkownik
Dołączył
Wrzesień 3, 2006
Posty
958
lepiej zrobic nieskonczona petle a w niej Sleep(1000); i to wszystko umieścic w wątku[/b]
No tak, ale w tej pętli dobrze by było pobrać aktualny czas i wg. niego reagować. Skąd wiesz, że system się na chwile nie przywiesi i program nie będzie wskazywał dokładnego czasu wykonania?

Kod:
SYSTEMTIME start, curr;
GetLocalTime(&st);
int lifeTime = 0;
while (true)
{
 // Jakieś tam instrukcje
 GetLocalTime(&st);
 int lifeTime = curr.wSecond - start.wSecond;
 // Wyświetlasz czas działania
 // i czekasz sekundę
 Sleep(1000);
}
 

grzonu

Były Moderator
Dołączył
Grudzień 26, 2006
Posty
1390
no tak przeciez nie bede polegal na tym ze sleep odmierzy dokladnie sekunde tylko bede sprawdzal caly czas tylko co sekunde chyba ze chcesz miec zuzycie procesora na poziomie 70% przez taka petle to wtedy mozesz bez sleep. widocznie zle mnie zrozumiales
 

whitlock

Użytkownik
Dołączył
Czerwiec 20, 2008
Posty
25
dzięki wszystkim za pomoc, ostatecznie skorzystam chyba z timera. Jednak mam jeszcze trzeci problem z pętlą for, który nie wiem czy w ogóle da się jakoś rozwiązać.Pętla działa przez cały czas jak włączony jest program (jest to nieskończona pętla). Sęk w tym, że jak program wejdzie w pętle to już z niej nie wyjdzie, a ma wykonać inne funkcje. Po prostu program ma być uruchomiony a pętla ma działać w tle.Jedynym rozwiązaniem jakie widze to jest napisa trzech innych programów (bo tyle mam tych pętli), które potem bym płączył z tym głównym. Tylko, że to byłoby bardzo niezręczne i stwarzałoby to więcej problemów. Ktoś wie jak to zrobić ?
 

nitr0

Użytkownik
Dołączył
Maj 15, 2007
Posty
537
Sęk w tym, że jak program wejdzie w pętle to już z niej nie wyjdzie, a ma wykonać inne funkcje. Po prostu program ma być uruchomiony a pętla ma działać w tle.Jedynym rozwiązaniem jakie widze to jest napisa trzech innych programów (bo tyle mam tych pętli), które potem bym płączył z tym głównym. Tylko, że to byłoby bardzo niezręczne i stwarzałoby to więcej problemów. Ktoś wie jak to zrobić ?[/b]
sorki za mały offtop, ale to jest tak masakrycznie chamsko perfekcyjny przykład zastosowania wątków xD normalnie książkowy xD a odpowiedź tak się nasuwa jak w reklamach Vanish'a gdzie pytają się bezbronne gospodynie "I czym teraz usunę tą beznadziejną plamę? zwykły proszek jest za drogi i niszczy tkaninę" xDD
 
Do góry Bottom