Forum: /dev/null Wie kann ich Daten mit C/C++ Öffnen und Kopieren usw.


von TimDerLauch (Gast)


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 ;)

: Verschoben durch User
von Nase (Gast)


Lesenswert?

Wie wärs mit nem Buch zum Einstieg?

von TimDerLauch (Gast)


Lesenswert?

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

von Slippin J. (gustavo_f)


Lesenswert?

In der Zeit, in der du die Frage gestellt hast, hättest du das auch 
selber googlen können.

Sorry, aber was du fragst sind absolute Basics...

von Antitroll (Gast)


Lesenswert?

Weil es in gefühlt 6.5 Millionen Tutorials drinsteht (mit Erklärung und 
Code)

Tante Google kann dir helfen.

von Nop (Gast)


Lesenswert?

TimDerLauch schrieb:

> Währe echt nett wenn ihr mir eine Webseite oder auch ein beispiel Code
> geben könntet

https://www.google.de/search?q=c+programmierung+datei+operationen

von TimDerLauch (Gast)


Lesenswert?

Ok ihr idioten ich hab doch nur gefragt !
ICH HÄTTE EUCH NICHT SO DUMME ANTWORTEN GEGEBEN !!!!!
IHR SEID ARROGANT 1

von A. S. (Gast)


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.

von Dirk B. (dirkb2)


Lesenswert?

TimDerLauch schrieb:
> Ich bin Programmierer in c/c++

Die Aussage, auch mit der Einschränkung
> (Noch nicht so lange)

passt nicht zu deiner Frage.
Du kannst nicht C oder C++ programmieren.

von Jim M. (turboj)


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...

von Daniel A. (daniel-a)


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.

von keinLichtAufGing (Gast)


Lesenswert?

TimDerLauch schrieb:
> (sehr unfreundliches)

Auch wenn es nicht zum Thema gehört: Ein solcher Kommentar wird wohl
vielen Forumsteilnehmern die Lust zum Helfen verleiden.

Ist das ein Troll oder reden Leute heute wirklich so?

von Rolf M. (rmagnus)


Lesenswert?

keinLichtAufGing schrieb:
> Ist das ein Troll oder reden Leute heute wirklich so?

Also normal ist es nicht. Entweder ein Troll, oder noch ziemlich jung 
und nicht sonderlich sozialkompetent. Kommt aber bestimmt noch mit dem 
Alter. ;-)

von Kaj G. (Firma: RUB) (bloody)


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!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.