Forum: Int till c*

Forum huvudsida -> Programmering -> Int till c*

Sidor: 1

Till botten

140chris140 11:38 - 26:e Maj 2010 | Post #1
Medlem
Inlägg: 22


Skicka PM
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!





Sidor: 1

Forum huvudsida -> Programmering -> Int till c*
Atom feed

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