Forum: c++sdl charproblem

Forum huvudsida -> Programmering -> c++sdl charproblem

Sidor: 1

Till botten

achnorr 00:34 - 5:e Januari 2008 | Post #1
Medlem
Inlägg: 82


Skicka PM
det jag försöker att göra är att :
1. Ladda in data från test.txt och sedan kopiera innehållet till char message[50]
2. Visa message med hjälp av ttf_render

  1. char message[50];
  2. ifstream infil("test.txt");
  3. infil>>message;
  4. message = TTF_RenderText_Solid(font,message,textColor);

men när texten visas blir det bara fram till första mellanslaget.
tydligen tar char bara den första meningen av ngn anledning...
finns det nått sätt att kopiera hela innehållet och visa det?Smiley

-------------------------
Ohhoo*



Python 11:06 - 5:e Januari 2008 | Post #2
Medlem
Inlägg: 157


Skicka PM
Jag vet inte om det funkar, men prova
string message;

i stället för
char message[50];

och läs in en mening i taget.
I vilket fall som helst tar string mindre minne, har jag för mig.
Rätta mig jag har fel!

-------------------------
-------------------------

Senast redigerad 11:07 - 5:e Januari 2008


NetNinja 13:02 - 5:e Januari 2008 | Post #3
Medlem
Inlägg: 116


Skicka PM
Vet vad ditt problem är. Om man använder >> så blir det bara fram till första mellanslaget, så om du vill ha en hel rad så skriv så här:
message=getline(infil);

Borde funka då.

Sen tror jag att string är en bråkdel större än string då string troligtvis består av chars och lite annat. Vet inte helt säkert dock.

-------------------------





achnorr 13:48 - 5:e Januari 2008 | Post #4
Medlem
Inlägg: 82


Skicka PM
nja inget funkar eftersom ttf_render måste ta char och inte string.och när jag skriver
  1. char message[50];
  2. getline(infil,message);

så blir det bara massa error. byter jag däremot ut char message till string message går det bra men då blir det fel i ttf_render...Smiley

-------------------------
Ohhoo*



InDigo176 15:07 - 5:e Januari 2008 | Post #5
Medlem
Inlägg: 72


Skicka PM
Konvertera då om string:en till en char-array när du skickar den till TTF_Render.

Om jag fattat c_str() rätt så borde det gå att göra något i den här stilen:
  1. string message;
  2. getline(infil, message);
  3. char c_message[50];
  4. c_message = TTF_RenderText_Solid(font, message.c_str(), textColor);


-------------------------
Sebban

Senast redigerad 15:09 - 5:e Januari 2008


achnorr 15:49 - 5:e Januari 2008 | Post #6
Medlem
Inlägg: 82


Skicka PM
tack fick det nu att stämma
  1. std::string message;
  2. ifstream infil("text.txt");
  3.  
  4. getline(infil,message);
  5. SDL_Surface*visatext;
  6. visatext=TTF_RenderText_Solid(font,message.c_str(),textColor);


-------------------------
Ohhoo*



Sidor: 1

Forum huvudsida -> Programmering -> c++sdl charproblem
Atom feed

Du får inte posta i den här tråden | Till toppen