int omzetten naar char*

Status
Niet open voor verdere reacties.

sander the man

Gebruiker
Lid geworden
7 jun 2007
Berichten
94
ik wil een for loopje maken met een ini functie de een bestand doorleest.
Stel in de ini file staat dit:
0 = hallo
1 = boe
2 = hey
etc.

dan wil ik dat uitlezen door als het waren dit:
Code:
for(int i=0;i<2;i++)
{
INIreadstring(i);
}

maar dit werkt natuurlijk niet. Want de functie INIreadstring() heeft een char* als argument nodig.

Als ik het zo probeer: INIreadstring((char*)i); Krijg ik een 0xC0000005 error dat betekent dat ik ram geheugen probeer te lezen/gebruiken dat niet bij mijn applicatie hoort. Weet iemand hier dan toch nog een goede manier voor? Ik heb een aantal dingen geprobeerd zoals strcat() en itoa(). Bij beide functies krijg ik dezelfde error...

Iemand een idee?

Edit: Het is me gelukt met: sprintf(str, "%d", i);
 
Laatst bewerkt:
De functie INIreadstring is mij ongekend, kan je even laten weten uit welke library die komt en wat die verondersteld wordt om te doen?

Gezien de naam van de functie en het feit dat ze een char* als argument moet meekrijgen vermoed ik dat ze: iets inleest uit een INI-file, en de ingelezen waarde vervolgens in de char* opslaat, zodat jij er aan kan.
Als dat zo is ben je de functie volledig verkeerd aan het gebruiken, lijkt me...

Ook kan het helpen als je uitlegt wat je precies probeert te bereiken
 
Ik gebruik een dll. Het is geen bekende dll maar gewoon een simpele dll die ini leest en schrijft.

Wat ik bedoel is dat er in de ini file allemaal keys staan. Die keys zijn geen strings maar getallen.

zoals ik al zei is dat zo iets:
0 = hallo
1 = boe
2 = hey

Dat zijn in totaal 3 keys die er in zitten. Dan wil ik ongeveer zo iets gebruiken om al die 3 keys uit te lezen:

for(int i=0;i<3;i++)
{
buffer = INIreadstring(i);
}

Maar de functie INIreadstring wil geen integer als argument die heeft persé een char* nodig.

Dus ik zoek iets waardoor ik die i kan veranderen in een char* dus ongeveer zo iets maar dan goed:
int i = 50;
char *str = "";
str = (char*)i;

en dan zou str als het goed is "50" moeten zijn. Maar dat lukt me dus niet. om van 50, "50" te maken.

Edit: Het is me gelukt met: sprintf(str, "%d", i);
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan