Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » pfad einer *.ini

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
07.05.2004, 10:59 Uhr
RedEagle



Wie kann ich diese *.ini in das GLEICHE Verzeichniss wie die *.exe meiner Anwendung erstellen??


C++:
WritePrivateProfileString("Allgemein","var1","5","test.ini");
WritePrivateProfileString("Allgemein","var2","8","test.ini");


--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.05.2004, 12:23 Uhr
RedEagle



das oben hat sich erledigt, aber habe hier ein Problem:

C++:
char eingabe[2];
char* pfad = "C:\\WINDOWS\\Profiles\\Ralf\\Desktop\\zahlen~1\\";
char* ini;
char datei[12];
char skin[20];

cout << "Geben sie bitte den Namen (max 20 Zeichen) des Skins an: ";
cin >> skin;
cout << "Geben sie bitte den Namen (max 12 Zeichen) der Datei an: ";
cin >> datei;

strcpy(ini, pfad);
strcat(ini, datei);



Nachdem der dann in die ini geschrieben hatt, habe ich ein system("pause"); gemacht.
bis dahin ist alles in Ordnung, nur wenn ich dann [enter] drücke, stürtzt es ab.
(Diese Anwendung wird aufgrund ...)

Ws mache ich falsch??
Ich denke es liegt an den Variablen (char's) weil ich da öffters Probleme mit habe.

ps.: was ist char*?? wofür ist das '*' da??
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.05.2004, 12:35 Uhr
RedEagle



OK, klappt alles.


hab's jetzt so gemacht (ohne char*)

C++:
char eingabe[2];
char pfad[200] = "C:\\WINDOWS\\Profiles\\Ralf\\Desktop\\zahlen~1\\";
char ini[500];
char datei[12];
char skin[20];



währe aber trotzedm nett, wenn mior mal einer kurtz den unterscheid zwischen char und char* erklären würde
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
07.05.2004, 15:36 Uhr
ao

(Operator)


Du meinst den Unterschied zwischen char[500] und char*.
char ini [500] deklariert ein Array mit Platz für 500 Zeichen. Das heißt, da befindet sich echter Speicher, wo du was reinschreiben kannst.

char * ini deklariert nur einen Zeiger. Wenn du ihn zum Schreiben benutzt, landen die Daten in der Speicherstelle, auf die er zufälligerweise zeigt, und das gibt im Allgemeinen einen Programmabsturz (Schutzverletzung).

Du musst zuerst den Zeiger initialisieren, d.h. auf gültigen Speicher zeigen lassen. Das machst du entweder, indem du Speicher vom Betriebssystem anforderst ("dynamische Speicherverwaltung" mit malloc oder new) oder indem du den Zeiger auf ein Objekt biegst, das dir schon gehört:


C++:
char * pIni; /* Frisch deklarierter Zeiger zeigt in den Wald */

pIni = new char [1024]; /* vom BS angeforderter Speicher, am Ende delete [] nicht vergessen. */

/* ODER */

char szText [1024]; /* Stackobjekt oder globales Objekt */
pIni = szText; /* Zeiger auf Array zeigen lassen */

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
07.05.2004, 17:28 Uhr
~thaflo
Gast



Zitat:
RedEagle postete
Wie kann ich diese *.ini in das GLEICHE Verzeichniss wie die *.exe meiner Anwendung erstellen??


C++:
WritePrivateProfileString("Allgemein","var1","5","test.ini");
WritePrivateProfileString("Allgemein","var2","8","test.ini");




so machst du die *.ini datei in das gleiche verzeichnis:


C++:

TIniFile *ini;
//nimmt den gleichen ort und den dateinamen wie die .exe datei, mit endund .INI
ini = new TIniFile(ChangeFileExt(Application->ExeName,".INI"));
ini->WriteInteger   ("Konfiguration","Com-Anschluss",ComPortCombo->ItemIndex);

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
07.05.2004, 18:45 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


TIniFile ist Borland-Spezifisch, das wird er wahrscheinlich nicht verwenden können (Borland Template Lib musste sonst mitlinken)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
07.05.2004, 23:01 Uhr
RedEagle



@FloSoft : Gut geraten, habe DEV-CPP
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: