Användarprofil

Uppgifter
Användarnamn
Email
Besök -
Hemsida Ingen
Plats (stad)
Senaste besök 01:00 - 1:a Januari 1970
Poster i forumet
Varningar
Grupp
Medlem sedan 01:00 - 1:a Januari 1970
Artiklar och filer
Den här användaren har inga artiklar eller filer

Avatar


Presentation av

Den här användaren har inte skapat någon personlig presentation.

Senaste inläggen i forumet

Int till c*
Vad jag vill göra är att convertera en integers värde till en rad med text.

Ett ex är att först har jag en string som säger
"health"
gör jag följande: int temp = (int)stringnamnet.c_str()
Då får jag följande siffra 3677488.
Nu skriver jag siffran till en fil me fwrite sedan gör jag ett nytt program för att läsa in siffran me fread. Jag får samma siffra och när jag ska göra om den till en string igen genom att göra: stringname = (char*)temp så får jag en runtime error.
Det konstiga är att jag kan göra den typecasten i samma program som jag skrev med.

Kod från classen som skriver:
w_file är öppnad på följande sätt : fopen("minfil.txt", "w");
r_file : fopen("minfil.txt", "r");

Jag har även provat med att öppna filen som "wb" och "rb" hjälper inte

test = (int)var_name.c_str();
fwrite((const void*) & test, sizeof(int), 1, w_file);

int temp = 0;
string k;
fread((void*) & temp, sizeof(int), 1, r_file);
k = (char*)temp;

cout << k;

Då skrivs health ut.
I mitt andra program där jag ska läsa in gör jag på exakt samma sätt men får en runtime error. Vilket är mycket konstigt.

int temp = 0;
string k;
fread((void*) & temp, sizeof(int), 1, r_file);
k = (char*)temp; //Här får jag en runtime error så programmet stängs ner

Så för att göra allt kort så vill jag veta hur jag ska göra om mitt int värde till en rad me text. Inte göra om siffran 2 så jag får ett string värde me siffran 2 i, utan göra om 3677488 till health, eftersom när jag gör om health till int så får jag det talet.

Om jag är oklar så säg till, kanske är lite oklart.
Tack för svar!


Postad 11:38 - 26:e Maj 2010
Namespace problem
Har nog fått mitt svar. Kan ta bort den här tråden. Vet inte hur man gör.



Postad 18:48 - 19:e Februari 2010
C++ SDL Objekt
Tjena jag försöker göra objekt till mitt platform spel . Men det funkar inge vidareSmiley såhär har jag gjort

void läggtillobjekt(vector<objektclassen*> objekthållaren
{
//X och Y var objekten ska hamna
int x = 0, y = 0;

//objekt typen
int obtyp = -1;

//loopa igenom antalet objekt som får plats på banan
for(int i = 0; i < antalobjekt; i++)
{
//läser från min .txt fil till objekttypen
objektleveln >> obtyp;

//om den hittar en 1 i .txt filen
if(obtyp == 1)
{
objekthållaren.push_back(new objectklass(x,y,1);
}
x += 32;
if(x > lvl_wh)
{
y += 32;
x = 0;
}
}

//ok så vad detta ska göra- ( missade ifstream map("lvl.txt") - är att den tar från min txt fil och letar igenom den och om den hittar en 1 tex så ska den lägga in en ny objektclass i min vector och sedan så sätter den ut den på X och Y cordinaterna ( 1 är vilken clip typ den har) .
saken men iaf)
och min class ser ut såhär


//objekt class
class coin
{
private:
    SDL_Rect box;

    int type;

public:

    coin(int x, int y, int tiletype);

    void show();

    int get_type();

    SDL_Rect get_box();
};

//tile constructor
coin::coin(int x, int y, int tiletype)
{
    box.x = x;
    box.y = y;

    box.w = 32;
    box.h = 32;

    type = tiletype;
}

void coin::show()
{
    displayimage(box.x - Camera.x, box.y - Camera.y, obtile, screen, &Tclip[type]);
}

vet inte om det här är tillräckligt för att ni ska kunna hjälpa mig men jag hoppas detSmiley Om jag e helt ute o cyklar och om detta va en dum fråga så ba .. säg tillSmiley

tack på förhand


Postad 20:06 - 22:a April 2009
Visual C++ 2008
Wow .. har inte ens tittat på den här tråden idagSmiley .. måste vara något fel.. ber hemskt mycket om ursäkt

Postad 20:50 - 20:e Mars 2009
Visual C++ 2008


Postad 17:33 - 20:e Mars 2009

Skicka meddelande
Läs s blog