Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung C und C++

Dynamischen C String unterteilen und verkleinern

Mitglied: LordXearo

LordXearo (Level 2) - Jetzt verbinden

05.07.2013, aktualisiert 18:35 Uhr, 1931 Aufrufe, 4 Kommentare

Hallo Zusammen,

ich bin gerade mit einer Aufgabe betreut, ein "quasi" FAT Dateisystem nachzubauen. Das Programm erstellt unteranderem einen Container und eine Text Datei für die Organisation des Containers. Die Blockgröße bzw. Sektorgröße und Anzahl der Blöcke / Sektoren kann der Benutzer frei wählen.

Zu meinem eigentlichen Problem. Ich habe den kompletten Inhalt der zu kopierenden Datei in einem dynamischen Array (malloc) abgelegt. Jetzt muss diese Datei unterteilt im Container abgelegt werden. D.h. es müssen z.B. mehrere 1024 Byte von der Datei irgendwo verstreut im Container liegen. Ist es nun möglich, diese 1024 "Zeichen" aus dem Buffer zu ziehen, den restlichen Inhalt an die erste Stelle des Buffers zu verschieben und diesen wieder zu verkleinern?

Viele Grüße

Xearo
Mitglied: rubberman
05.07.2013 um 21:17 Uhr
Hallo LordXearo,

habe nicht ganz verstanden, was letztlich dabei raus kommen soll. Aber vielleicht ein Ansatz:
malloc() gibt einen Pointer (sagen wir void *p1) auf Byte 0 des reservierten Speiches zurück. Also die Adresse. Du könntest nun per malloc() einen weiteren Speicherbereich von 1024 Byte reservieren und per memcpy() die ersten 1024 Byte herauskopieren. Einem Hilfspointer (void *p2) übergibst du die Adresse p1 + 1024. Wieder 1024 Byte kopieren etc.
Am Ende p1 freigeben und gut.

Grüße
rubberman
Bitte warten ..
Mitglied: LordXearo
05.07.2013, aktualisiert um 23:13 Uhr
Hallo rubberman,

es gibt ja die Funktion strncpy. Nur bräuchte ich eine Funktion die noch einen Parameter "ab Stelle" hat. Dann könnte ich mir schon etwas bastel....dachte es gäbe aber vielleicht einen eleganteren weg.

Edit: Es müsste wohl gehen, wenn ich bei "Source destination" einfach die Stelle mit "+" verschiebe....naja....dachte es ginge einfacher.

Gruß

Xearo
Bitte warten ..
Mitglied: rubberman
06.07.2013 um 13:01 Uhr
Hallo LordXearo.

es gibt ja die Funktion strncpy.
Kommt darauf an welchen Inhalt deine Dateien haben. Es wird nur bis zum ersten Auftreten eines Nullzeichens kopiert und der Rest mit Nullzeichen aufgefüllt. Dateien mit unbestimmtem Inhalt (Binärdateien bspw.) kannst du so nicht verarbeiten. Darum dachte ich eher an memcpy.

Es müsste wohl gehen, wenn ich bei "Source destination" einfach die Stelle mit "+" verschiebe
Bei Source sicher. Aber wieso bei Destination?

Grüße
rubberman
Bitte warten ..
Mitglied: LordXearo
06.07.2013 um 15:21 Uhr
Hi rubberman,

ich denke ich weiss jetzt, wie ich es möglichst simpel und sauber in den Griff bekommen. Melde mich nochmal, wenn ich Zeit gefunden habe weiterzumachen.

Gruß

Xearo
Bitte warten ..
Ähnliche Inhalte
Netzwerkgrundlagen
Subnetze weiter unterteilen
gelöst Frage von How-ToNetzwerkgrundlagen5 Kommentare

hallo leute, ich habe eine aufgabe zu subnetting gelöst, aber ich weiß nicht ob es richtig ist. ich habe ...

Hyper-V
Hyper-V dynamische vhd verkleinern klappt nicht
Frage von Speedygonzales18Hyper-V5 Kommentare

Hallo zusammen! Ich habe ein mittleres Problem: Ich habe einen HyperV Server mit einen Gastsystem. Ich habe virtuelle Festplatten ...

C und C++
C-Sharp - String-Manipulation (SQL String manuell generieren)
gelöst Frage von WP8FanC und C++6 Kommentare

Hallo, Ich habe folgendes Problem in C# In einer Anwendung soll eine SQL Abfrage angestoßen werden. die Felder die ...

Datenbanken
SQL Befehle dynamisch ändern C Sharp und Access
Frage von Judo99Datenbanken5 Kommentare

Liebe Community ich habe derzeit ein kleines Problem. Ich arbeite mit Visual Studio 2015 Community und einer .mdb Database. ...

Neue Wissensbeiträge
Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 13 StundenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 13 StundenSicherheit7 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 14 StundenSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Sicherheit

Meltdown und Spectre: Die machen uns alle was vor

Information von Frank vor 14 StundenSicherheit12 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Heiß diskutierte Inhalte
Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1031 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell29 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
Frage von Windows10GegnerNetzwerkgrundlagen20 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...