Mój problem jest prosty do bólu. Ale niestety sam nie umiem sobie z nim poradzić. Do rzeczy:
Z inta chcę zrobić konwersje na string. Dokładniej po co mi to. Chce wypisać tekst "Wynik: " i zmienną i w formacie int. Za pomocą procedury graficznej BGI= outtextxy() lub moveto(); i outtext().
Ale funkcje outtext wymaga ode mnie tylko stringów. Jakiś pomysł?
Swoje programy pisze w C++.
- Rejestracja:około 14 lat
- Ostatnio:prawie 5 lat
- Postów:116
- Rejestracja:prawie 14 lat
- Ostatnio:około 4 godziny
Owszem i to nawet dobre np http://lmgtfy.com/?q=konwersja+z+int+na+string&l=1

- Rejestracja:ponad 17 lat
- Ostatnio:ponad 8 lat
- Postów:1105
- Rejestracja:około 14 lat
- Ostatnio:prawie 5 lat
- Postów:116
Umiem korzystać z Googli. I próbowałem zastosować tylko nastała bariera wiedzy. I przez barierę nie zrozumiałem.
Klasa string (C++)
int i = 42; // mam rozumieć, że to jest to co chce zamienić.
string tmp; * brzydkie rozwiązanie * a to co jest?
sprintf((char*)tmp.c_str(), "%d", i); // po co podajemy char jako wskaźnik? tmp.c_str(), << co to jest? albo %d typ całkowity zgodę się ale w C++ tego jeszcze nie widziałem.
string str = tmp.c_str(); // następne dziwne funkcje których nie rozumiem.

- Rejestracja:około 21 lat
- Ostatnio:prawie 3 lata
- Lokalizacja:Space: the final frontier
- Postów:26433
To zamiast płakać że "nie rozumiesz" to może łaskawie DOCZYTAJ w dokumentacji?
Ciąg znaków czyli C-string to jest char*. Samo char byłoby JEDNYM znakiem.
Metoda c_str() zamienia std::string na char* właśnie.
Funkcja sprintf() jest funkcją z C, ale jak wiadomo w C++ można korzystać ze wszystkiego z czego można korzystać w C.
C++ rozwiazanie twojego problemu to stringstream.
http://www.cplusplus.com/reference/iostream/ostringstream/ostringstream/
- Rejestracja:około 14 lat
- Ostatnio:prawie 5 lat
- Postów:116
Sama dokumentacja mi nic nie da ponieważ aby coś zapamiętać to muszę przeważnie rozumieć, co pisze i jak działa. I po sto razy was nie pytać i męczyć.
Na podstawie FAQ i Dokumentacji napisałem:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
clrscr();
int i=42;
char *str[10];
itoa(i,str[10],10);
cout<<*str[10];
getch();
}
Jeśli przy cout<<*str[10] wyświetla się 4, obcina mi jedną liczbę dlaczego? jeśli dam & to chyba dostaje adres do pamięci, a jeśli nic otrzymuję puste miejsce. Dlaczego tak się dzieje?

- Rejestracja:prawie 14 lat
- Ostatnio:2 dni
- Postów:2512
Problem w tym, że nie masz podstaw C++ dotyczących ciągów znaków i w ogóle tablic. Masz tablicę znaków 10 -cio elementową. Indeksy w takiej sytuacji to 0..9. Ty podajesz 10-ty element na argumencie itoa więc już wyjeżdżasz za zarezerwowany obszar. Nie mówiąc już o cout.
Hmm teraz jeszcze patrzę że zadeklarowałeś tablicę 10 wskaźników na char
Tak to powinno wyglądać:
int i=42;
char str[10];
itoa(i,str,10);
cout<<str;

- Rejestracja:ponad 13 lat
- Ostatnio:około 3 lata
- Lokalizacja:Grudziądz/Bydgoszcz
- Postów:5300
Napisałeś, że chcesz int na string to najprościej tak:
#include <stringstream>
#include <string>
#include <iostream>
//ble ble ble
int i = 42;
std::ostringstream ss;
ss << i;
std::cout<< ss.str();