daten einer Datei überschreiben
-
hi,
problem: eine existierende binärdatei wurde geöffnet, ein bestimmter datensatz gefunden, der nun überschrieben werden soll. der datensatz wird jedoch leider nicht überschrieben, sondern hinten angehängt:
fp=fopen(FILENAME,"ab"); position=position-sizeof(struct artikel); fsetpos(fp,&position); fwrite(&data,sizeof(struct artikel),1,fp); fclose(fp);
kann mir bitte jemand sagen was ich hier falsch mache... ist ziemlich wichtig.
danke!mfg,
xaser
-
shcau mal in die Beiträge der letzten Tage da ist dieselbe Frage schon beantwortet worden
http://www.c-plusplus.net/forum/viewtopic-var-t-is-48639-and-highlight-is-ftell.html
-
danke...
das mag ja alles so stimmen, ich arbeite aber mit strukturen, und bin darum nicht zeilenorientiert.. denke ich.
das problem ist leider dadurch nicht geklärt. ich kenne ja die position, und weiß was ich ändern will. ich habe die position also festgelegt, trotzdem wird nicht ab dieser position geschrieben, sondern ans ende...
ich weiß nicht warum, und wie ich das richtigstellen kann.ich bitte um weitere hilfe.
mfg,
xaser
-
xaser schrieb:
hi,
fp=fopen(FILENAME,"ab"); position=position-sizeof(struct artikel); fsetpos(fp,&position); fwrite(&data,sizeof(struct artikel),1,fp); fclose(fp);
nur eine kleine sache war zu ändern...und zwar der mode mit dem die file geöffnet wird
fp=fopen(FILENAME,"rb+"); // nich ab, oder ab+, sondern rb+ position=position-sizeof(struct artikel); fsetpos(fp,&position); fwrite(&data,sizeof(struct artikel),1,fp); fclose(fp);
danke xaser,
bitte xaserich hoffe dass ich noch fertig werde...
mfg,
xaser
-
klingt irgendwie nach C Beleg für die Uni
-
und ob!
ich hab noch 21 stunden um eine Artikellisten-Verarbeitung hochzuladen.
Bin auch schon fast fertig.
Neue Artikel kann ich hinzufügen, ohne dass die Art-Nr sich wiederholt, ich kann Artikel entfernen und ändern. Jetzt will ich die nur noch sortieren können. Dann bin ich fertig. Und evtl. den code etwas reduzieren. Hab alles in allem jetzt in 2 Tagen fast 500 Zeilen zusammenbetippt... irgendwann hat man dann auch die Nase voll.mfg,
xazer
-
zu dem "pensum" möcht ich bemerken, c ist eine luftige sprache. 500 zeilen c ließen sich in anderen sprachen durchaus schon in 50 zeilen ausdrücken. weniger tipparbeit aber der inhalt bleibt der gleiche.
-
xaser schrieb:
und ob!
ich hab noch 21 stunden um eine Artikellisten-Verarbeitung hochzuladen.
Bin auch schon fast fertig.
Neue Artikel kann ich hinzufügen, ohne dass die Art-Nr sich wiederholt, ich kann Artikel entfernen und ändern. Jetzt will ich die nur noch sortieren können. Dann bin ich fertig. Und evtl. den code etwas reduzieren. Hab alles in allem jetzt in 2 Tagen fast 500 Zeilen zusammenbetippt... irgendwann hat man dann auch die Nase voll.mfg,
xazerDarf ich mal fragen in welchem Semester du bist?
MfG
-
evilissimo schrieb:
Darf ich mal fragen in welchem Semester du bist?
MfG
ich bin jetzt im 4.
und in 3 Wochen im 5.dieses Prog ist mein Abschlussprojekt im Fach Systemprogrammierung.
Und 500 Zeilen sinds geworden weils viele Menus gibt und das Prog doch
recht aufwendig ist. Aber ich sagte ja schon, dass ich einiges reduzieren
kann. Manche Routinen verwende ich 2 oder mehrmals. da lässt sich ganz
einfach noch eine weitere Funktion draus machen. Dann bleiben vielleicht
noch 350-400 Zeilen...
Jetzt muss ich jedoch noch eine Listen-Sortierung programmieren. Da gehen
wieder ein paar Zeilchen bei drauf.mfg,
xaser
-
Servus...
also ich bin im 2. Semester und darf/durfte einen Webshop programmieren (Artikel,Benutzer et cetera...) Wußte doch das unser Prof. es ein wenig übertreibt
mit den Beleg...
hab mal eine Sortierroutine on gestellt... vielleicht brauchste sie ja mal zum Vergleichen... ist Bubble Sort
von meiner Artikelliste im Webshop...
http://www.htw-dresden.de/~s53772/sortieren.c
Viel Spass....
-
|silver| schrieb:
Servus...
hab mal eine Sortierroutine on gestellt... vielleicht brauchste sie ja mal zum Vergleichen... ist Bubble Sort
von meiner Artikelliste im Webshop...
Viel Spass....
danke dir, ist wirklich nett...
mal sehen was ich mache. bubblesort arbeitet zwar effektiver, aber für mein kleines proggi werd ich ne ganz normale sortierung durch tauschen machen. das dauert dann vielleicht länger, aber mir ist es egal, hauotsache es geht.
mfg,
xazer