Wie kann ich Daten mit C/C++ Öffnen und Kopieren usw.

Gast #4846539
Lesenswert?

HEY :)
Ich bin Programmierer in c/c++
(Noch nicht so lange)
Habe vor ein Programm zu Programmieren das folgendes tun soll :

Wenn eine Datei/Verzeichnis nicht existiert das sozusagen in einer 
Variable oder so speichern das die Datei/Verzeichnis nicht existiert so 
dass andere Abschnitte des Programms abrufen können.
.
Und wie bekomme ich es hin das ich z.b. der Inhalt einer Textdatei in 
einer Variable zwischengespeichert werden kann?
.
Außerdem wie kann ich einen neuen Ordner erstellen ?
.
Und wie kann ich generell Dateien erstellen ?
.
Währe echt nett wenn ihr mir eine Webseite oder auch ein beispiel Code 
geben könntet (<--- Bitte mit Erklärung :D)
Danke an alles zu diesem Thema ;)
Gast #4846591
Lesenswert?

TimDerLauch schrieb:
> Wieso kannst du mir es nicht einfach sagen anstatt so ne Antwort los zu
> werde ? >:(

Wie schon geschrieben sind das Basics.

Sagen kann er es nicht, weil überhaupt keine Angaben dazu gemacht werden
- auf welchem System (Windows, Linux, embedded-derivate, lokal, im 
Netzwerk, ..)
- was Du schon kannst (Stringverarbeitung? OS-System-Calls? FILE?)
- welche Sprache (C? oder C++? Mit .NET? oder Boost? ...)
- Um Welche Größenordnungen es bei den Text-Dateien geht (wegen: In 
einer Variable speicherns)

TimDerLauch schrieb:
> Wenn eine Datei/Verzeichnis nicht existiert das sozusagen in einer
> Variable oder so speichern das die Datei/Verzeichnis nicht existiert so
> dass andere Abschnitte des Programms abrufen können.

Das könnte man so verstehen, als ob Du schon Probleme hast, eine binäre 
Information in einer Variablen zu speichern und abhängig davon den 
Programmfluss zu ändern. Da ist die Antwort von Nase richtig.
#4846646
Lesenswert?

TimDerLauch schrieb:
> Ich bin Programmierer in c/c++
> (Noch nicht so lange)

Das ist so nicht ganz richtig. Du bist offensichtlich ein blutiger 
Anfänger und hast noch kein Grundlagen Buch über C gelesen - da würde 
sowas wie Datei- und Verzeichniszugriff nämlich drin stehen.

Und weil die notwendigen Grundlagen für einen Forenpost viel zu 
umfangreich sind, solltest Du Dir lieber so ein Buch besorgen.

BTW: Bei den Preisen die Amazon für 'n K&R aufruft, lohnt sich 
vermutlich der Gang in die nächste Bibliothek...
#4846710
Lesenswert?

TimDerLauch schrieb:
> Wenn eine Datei/Verzeichnis nicht existiert das sozusagen in einer
> Variable oder so speichern das die Datei/Verzeichnis nicht existiert so
> dass andere Abschnitte des Programms abrufen können.

Das würde ich nicht tun, führt nur zu Race Conditions. Normalerweise 
versucht man einfach zu tun, was man will (Datei erstellen, löschen, 
etc.) und schaut dann nach, ob es geklappt hat. Wenn es nicht geklappt 
hat, bekommt man meist auch gleich den Fehlercode in errno und kann mit 
errorstr eine Fehlermeldung anzeigen.

TimDerLauch schrieb:
> Und wie bekomme ich es hin das ich z.b. der Inhalt einer Textdatei in
> einer Variable zwischengespeichert werden kann?

Wenn es nur mit C mitteln sein soll, dann zuerst fopen, mit fseek zum 
Dateiende, mit ftell die Grösse ermitteln, mit malloc den Speicher 
reservieren, dann mit rewind oder fseek zurück zum Dateianfang, und dann 
mit fread die Datei in den Speicher lesen. Führt aber zu sehr viel 
verschwendetem Speicher und vielen möglichen Fehlerquellen, die man 
abfangen muss.
Wenn es für Posix konforme Systeme ist, und sich die Dateigrösse nicht 
ändert, kann mmap sinnvoll sein. Das mappt eine Datei direckt in den 
Speicher.
Das oben beschriebene ist aber nur sinvoll, wenn man wirklich ständig 
Zugriff auf zufällige Positionen in Files braucht. Ansonsten sollte man 
Dateien immer in kleinen Stückchen lesen/schreiben, deren Grösse 
ignorieren, und nie mit fseek die Position ändern oder mit ftell 
auslesen. Das hat den Vorteil, dass weniger Speicher verbraucht wird, 
man statt Daten beliebige Streams nehmen kann, z.B. mittels einer Pipe 
die Ausgabe von anderen Prozessen, etc.
(Firma: RUB) #4846942
Lesenswert?

Rolf M. schrieb:
> keinLichtAufGing schrieb:
>> Ist das ein Troll oder reden Leute heute wirklich so?
>
> Also normal ist es nicht.
Ich wuerde es so formulieren:
Es ist normal, wenn :
- jemand offensichtlich kein Plan von Tuten und Blasen hat,
- sich offensichtlich keine Muehe gibt auch nur die Grundlagen
  zu erlernen,
- jemand will, dass andere sein Problem loesen und am besten direkt
  fertigen Code posten den man per Copy-Pasterino einfach nutzen kann.

Unter diesen Gegebenheiten ist dieses Verhalten an Antworten 
tatsaechlich normal, nachvollziehbar und absolut gerechtfertigt.


Die Antworten waeren noch besser ausgefallen, wenn der TO das ganze in 
etwa so formuliert haette:
1
Super Duper mega Wichtig!!1elf
2
Echt Dringend!
3
Bitte nur fertigen Code posten!
4
Ich muss die Amper hoch skillen!

In diesem Sinne:
Guten Rutsch!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren