Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 21.08.2003, 10:17 Titel: char* Probleme...:( |
|
|
Hi!
Ich hab eine Funktion, die ein Bild lädt. Die sieht so aus:
bool LoadImage(char *filename);
Wenn ich die Funktion jetzt so aufrufe funktioniert alles:
LoadImage("c:\\test.bmp");
wenn ich das so mache, stürzt das Programm ab:
char string[256];
sprintf(string,"c:\\test.bmp");
LoadImage(string);
Eigentlich kam das Problem jetzt wegen dem Scripten auf:
weil meine ScriptFunktion den Pfad(e.g. ,"c:\\test.bmp" ) einlesen muss und dann den String der Funktion LoadImage übergibt.
Ich habe es auch geprüft, indem ich den Pfad in die Log Datei geschrieben habe und da war er richtig und dann hab ich es halt wie oben ausprobiert, ob es überhaupt funktioniert. Aber das geht leider nicht _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
underberg JLI'ler
Anmeldedatum: 11.01.2003 Beiträge: 153
Medaillen: Keine
|
Verfasst am: 21.08.2003, 10:26 Titel: Re: char* Probleme...:( |
|
|
TheMillenium hat Folgendes geschrieben: | sprintf(string,"c:\\test.bmp");
|
Kann das sein, dass du strcpy(string,"c:\\test.bmp"); meinst? |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 21.08.2003, 10:31 Titel: |
|
|
Nein ich meine sprintf(), aber strcpy() funktioniert auch nicht. _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 21.08.2003, 12:25 Titel: |
|
|
Lad doch den String in einen std::string und übergeb bla.c_str() an die Funktion. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 21.08.2003, 12:26 Titel: |
|
|
Der Code, den du gepostet hat ist okay. Es geht irgendwo anders in deinem Code schief. |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 21.08.2003, 14:30 Titel: |
|
|
Glaube ich nicht, denn wenn ich das so schreibe geht's ja:
Code: | LoadImage("c:\\test.bmp");
|
so nicht:(
Code: | char string[256];
sprintf(string,"c:\\test.bmp");
LoadImage(string); |
naja mal weiterschauen... _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 21.08.2003, 14:39 Titel: |
|
|
TheMillenium hat Folgendes geschrieben: | Glaube ich nicht, denn wenn ich das so schreibe geht's ja:
[/code]
LoadImage("c:\\test.bmp");
...
char string[256];
sprintf(string,"c:\\test.bmp");
LoadImage(string); [/code]
|
Es geht auf jeden Fall so, schreib dir doch mal ein Testprogramm:
Code: |
#include "stdafx.h"
#include <stdio.h>
void LoadImage(char* file);
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
// ZU ERLEDIGEN: Fügen Sie hier den Code ein.
LoadImage("c:\\test.txt");
char string[256];
sprintf(string,"c:\\test.txt");
LoadImage(string);
return 0;
}
void LoadImage(char* file)
{
FILE * f = fopen(file,"rt");
if(f)
{
fclose(f);
}
}
|
C. |
|
Nach oben |
|
|
|