Forum huvudsida -> Programmering -> Konvertera int till char
Sidor: 1
seal | 17:27 - 11:a December 2007 | Post #1 | |
Medlem Inlägg: 32 Skicka PM |
Hejsan, jag har en funktion som vill ha en pekare till en char (char *), det är en funktion som skriver ut text på skärmen. Men jag vill skicka med en siffra i argumentet, jag försökte med att kovertera den till char genom: (char *)siffran Men programmet krashar, att kovertera till char fungerar inte eftersom att funktionen vill ha en pekare. Sedan har jag också alltid undrat vilket operator som används för att sätta ihop 2 st strängar, char alltså. Eller är det bättre att använda string här? När ska man egentligen använda char, och när string? Tack på förhand! |
Independence | 17:36 - 11:a December 2007 | Post #2 | |
Administratör Inlägg: 1800 Skicka PM |
Funktioner för att hantera char-arrayer i C: http://www.cppreference.com/stdstring/index.html Finns funktioner för att göra det du frågade här. string används i C++ och char-arrayer i C? Ofta så blir det väl så att man programmerar mot APIer skrivna i C från C++ så man får använda char-arrayer ändå men. ------------------------- Vi är riddarna som säger fiskbulle! |
tobbez | 17:39 - 11:a December 2007 | Post #3 | |
Medlem Inlägg: 364 Skicka PM |
Behöver man använda char-arrayer i C++ är det ofta enklast att använda metoden .c_str() på strängar för att konvertera dem till char-arrayer. |
Fasting | 17:41 - 11:a December 2007 | Post #4 | |
Medlem Inlägg: 121 Skicka PM |
Kan du inte göra en temporär variabel i funktionen som ville ha char som pekare och göra den till en int. När du gjort vad som nu skall göras ändrar du charen till det värde det ska få (om det nu skulle ändras).
Nu vet jag dock inte om det är det du är ute efter, men det var iaf min tolkning av det hela. Sedan om det funkar vet jag heller inte då jag inte testat ------------------------- Efter att ni har läst det här har ni insett att det inte gav något. Senast redigerad 17:44 - 11:a December 2007 |
seal | 18:23 - 11:a December 2007 | Post #5 | |
Medlem Inlägg: 32 Skicka PM |
Tack för era svar, vad föredrar ni? string eller char? Vilket drar minst minne om man ska tänka så? |
derfian | 18:52 - 11:a December 2007 | Post #6 | |
Medlem Inlägg: 149 Skicka PM |
Citat av seal:Tack för era svar, vad föredrar ni? string eller char? char* drar mindre minne, men jag väljer string utan tvekan. så pass mycket trevligare att ha att göra med. |
tobbez | 19:09 - 11:a December 2007 | Post #7 | |
Medlem Inlägg: 364 Skicka PM |
Säger som derfian - mycket trevligare att arbeta med string. |
seal | 19:16 - 11:a December 2007 | Post #8 | |
Medlem Inlägg: 32 Skicka PM |
Okej, tänkte testa string efter att jag läst era svar. Men jag förstår verkligen inte varför jag får denna error: `string'' has not been declared kod:
Längst upp har jag:
testade också med string.h om det skulle vara någon skillnad, men nej. Allt detta är i en header fil. |
Nissebosselasse | 19:40 - 11:a December 2007 | Post #9 | |
Medlem Inlägg: 490 Skicka PM |
Testa med std::string i fuktionshuvudet. ------------------------- http://pushingcows.se Gula Nallen |
seal | 20:21 - 11:a December 2007 | Post #10 | |
Medlem Inlägg: 32 Skicka PM |
Citat av Nissebosselasse:Testa med std::string i fuktionshuvudet. Ja där sa du något, konstigt nog fungerar inte det heller? Lade även till: using namespace std i headern. |
Nissebosselasse | 20:23 - 11:a December 2007 | Post #11 | |
Medlem Inlägg: 490 Skicka PM |
Citat av seal:Citat av Nissebosselasse: Posta hela koden om du kan, är lättare att se felen då. ------------------------- http://pushingcows.se Gula Nallen |
seal | 21:13 - 11:a December 2007 | Post #12 | |
Medlem Inlägg: 32 Skicka PM |
Citat av Nissebosselasse:Citat av seal: Visst såhär ser det ut:
|
derfian | 22:27 - 11:a December 2007 | Post #13 | |
Medlem Inlägg: 149 Skicka PM |
Citat av seal:Okej, tänkte testa string efter att jag läst era svar. Men jag förstår verkligen inte varför jag får denna error: Det är <string> du ska använda. <string.h> är fel. |
seal | 23:00 - 11:a December 2007 | Post #14 | |
Medlem Inlägg: 32 Skicka PM |
Japp nu fungerar det. nu har jag i funktionen som skriver ut en text en pekare till en sträng: void drawFont(int xpos, int ypos, std::string *strText, SDL_Color *color); Så jag testade detta: drawFont(400,300, & (string)"GAME OVER", &fntColor); Fungerar fint men jag får en varning: [Warning] taking address of temporary Jag förstår varför jag får varningen, men behöver jag oroa mig? ,,r det värt att skapa en variabel och leverera minnesadressen till denna när jag anropar funktionen eller går detta bra? Edit; Nu vill jag aven konvertera från int till string Hur? hittade genom google att jag skulle använda atoi funktionen, men i de exemplerna använda dem char vilket jag inte vill i mitt fall. Senast redigerad 23:03 - 11:a December 2007 |
Nissebosselasse | 23:39 - 11:a December 2007 | Post #15 | |
Medlem Inlägg: 490 Skicka PM |
Du kan skriva in en sträng direkt: drawFont (400,300, "GAME OVER", &fntColor); Fast du bör ändra funktionen så att den istället tar en referens till en std::string: void drawFont(int xpos, int ypos, std::string &strText, SDL_Color *color); ------------------------- http://pushingcows.se Gula Nallen |
seal | 16:29 - 12:a December 2007 | Post #16 | |
Medlem Inlägg: 32 Skicka PM |
Citat av Nissebosselasse:Du kan skriva in en sträng direkt: Detta med pekare och referenser är väldigt intressant men knepigt att börja med. Tack för hjälpen :-) ! Edit; Hmm nej det fungerade inte: Först får jag att den tror att det är en char, testade att sätta (string) innan strängen. Men då får jag felmedd: no matching function for call to `drawEngine::drawFont(int, int, std::string, SDL_Color*)'' candidates are: void drawEngine::drawFont(int, int, std::string&, SDL_Color*) Senast redigerad 16:33 - 12:a December 2007 |
Sidor: 1
Forum huvudsida -> Programmering -> Konvertera int till char
Du får inte posta i den här tråden | Till toppen
Datum
2024-12-22 11:14
Vecka: 51
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.