|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
chris-- Mini JLI'ler
Anmeldedatum: 14.11.2007 Beiträge: 1
Medaillen: Keine
|
Verfasst am: 21.11.2007, 20:34 Titel: Einpaar Fragen |
|
|
ich grüße euch,
ich habe mir vor einer Zeit das Buch Spieleprogrammierung mit DirectX gekauft, und programmiere derzeit auch recht fleißig, das Buch habe ich noch nicht fertig gelesen jedoch stoße ich schon bei einigen meiner Programme auf Probleme. Ich bin total "wuschig" drauf neues zulernen und will auch nicht gerade mehr hier übermich schreiben sondern eher auf meine Probleme eingehen, ich bedanke mich natürlich herzlich für jede(!) Hilfe.
z.B. was muss ich cin sagen das ich nach dem bestätigen mit dem Return in der selben Zeile bleibe, und dann eigendlich zu meinem derzeitigen Hauptproblem!
Also grob gesagt ich habe mir einen Pfad in einem String (kein char array, sondern nen std::string (wobei das natürlich auch nen char array ist)) gespeichert, und wollte mit dieser variable in eine Datei schreiben
FILE *Datei = fopen(path, "w");
Doch mein Compiler meckert jetzt:
Error C2664: 'fopen' : cannot convert parameter 1 from 'std::string' to 'const char *'
ich habs versucht mit nem Pointer zuübergeben hat nicht funktioniert. Daher sich der Pfad aber aus mehreren std::string's zusammen setzt und ich keine ahnung habe wie eine lösung in einem char Array aussehen würde, währe halt kool wenn ich meine *.bin trotzdem mit dem string erzeugen könnte!
danke! |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 21.11.2007, 21:00 Titel: |
|
|
ein std::string hat eine .c_str() Funktion, die dir das "innere" char-Array gibt. Das brauchst du immer, wenn eine Funktion eine C-String (also ein char-Array) haben möchte.
Das cin in der selben Zeile bleibt geht glaub ich nicht. Es gibt ein paar Erweiterungen für die Konsole, z.B. mit Farbe und für bestimmte Positionen, aber mal ehrlich, das braucht keiner. Oberflächen werden heute anders gestaltet. Beim lernen mag es ganz nett sein, wenn man das Programm ein wenig schicker gestalten kann, aber Konsolenprogramme sollen heute nicht schön aussehen sondern einfach und schnell zu benutzen sein. Sobald du also deine ersten Grafiken ausgegeben hast, würdest du das eh niemals mehr wollen _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
DirectXer Dark JLI'ler
Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 21.11.2007, 21:13 Titel: |
|
|
naja, also es geht schon, ist aber etwas aufwändiger. Du könntest bspw. conioex benutzen, ein tool das nette kleine Extras für die Konsole bereitstellt. Oder du fängst die Windows-nachricht mit Enter ab (etwas aufwändiger). Also es geht, aber es ist nicht unbedingt nötig. Interessierst du dich trotzdem für ein paar cosole-extras, kannst du das forum bzw. google mal nach conio oder conioex durchsuchen.
@Jona:
sag das nicht, ich benutze z.B. immer noch consolen programme wenn ich mir mal eben ein kleines help-tool schreiben muss, außerdem hat console auch vorteile Aber generell stimmt das schon, dass die meisten sie nach grafik nur noch selten nutzen.
Gruß DXer |
|
Nach oben |
|
|
Deviloper Junior JLI'ler
Anmeldedatum: 31.05.2006 Beiträge: 77
Medaillen: Keine
|
Verfasst am: 22.11.2007, 18:30 Titel: |
|
|
@chris--:
Naja du hast ja jetzt schonmal den Weg zu C++ (von C weg) gefunden, in dem du std::string genutzt hast. Ok später wirst du wieder, bei etwas sehr viel schwereren Materien den weg zu char-Arrays finden, aber das soll erstmal egal sein.
Im C++-Standard wird Input/Output über (gepufferte) Streams geregelt. Von d.h. richte dich doch einfach auch bei der Dateibearbeitung nach dem Standard und nutze std::fstream (bzw. std::ifstream für lesen und std::ofstream für's schreiben ) ... |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|