struktury!!
Widzisz wersję archiwalną tematu "struktury!!" z forum pl.comp.lang.c
Artur Drzyzga - 8 Sie 1999, 03:00
Jak zapisac do pliku nastepujaca strukture struct pracownicy { kod char[10]; imie char[20]; nazwisko char[30]; haslo char[10];
};
Nie bardzo wiem jak sie za to zabrać prosze o kawalek kodu (BUILDER)!!
Adam 'aimsoft' Michalski - 8 Sie 1999, 03:00
Jak zapisac do pliku nastepujaca strukture struct pracownicy { kod char[10]; imie char[20]; nazwisko char[30]; haslo char[10]; };
Uwaga wstepna: nie wiem czy nie bedziesz musial wlaczyc czegos 'structure packing' (nie znam polskiego terminu). W niektorych Borlandach trzeba bylo (nie wiem jak to bedzie w przypadku buildera).
Nie bardzo wiem jak sie za to zabrać prosze o kawalek kodu (BUILDER)!!
Oto prosty (i niekompletny) przyklad:
#include <stdio.h
struct pracownicy { char kod[10]; char imie[20]; char nazwisko[30]; char haslo[10];
};
void main() { FILE *f; //otwarcie pliku itp. standardowe operacje... pracownicy kolesie; //wypelnienie struktury... fwrite(&kolesie, sizeof(struct pracownicy), 1, f);
}
Pozdrawiam
Adam Michalski, 17 lat
Ygreg - 8 Sie 1999, 03:00
Jak zapisac do pliku nastepujaca strukture struct pracownicy { kod char[10]; imie char[20]; nazwisko char[30]; haslo char[10]; };
Nie bardzo wiem jak sie za to zabrać prosze o kawalek kodu (BUILDER)!!
Buildera nie uzywalem, ale nie powinno byc roznic ;-)
Zapis:
struct pracownicy aa;
file=fopen("data", "wb"); fwrite((void*)&aa, sizeof(aa), 1, file); fclose(file);
I zeby nie bylo nastepnych pytan czytanie:
file=fopen("data", "rb"); fread((void*)&aa, sizeof(aa), 1, file); fclose(file);
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ GCS d- s+: a--- C++ UL+ P+++ L+(++) E- W++ N++ o? K? w(---) O? M? V? Grzegorz Plebanski !PS !PE Y? PGP t+ 5 X+ R tv b+(++) DI(+) D+ G
Milo - 8 Sie 1999, 03:00
| Jak zapisac do pliku nastepujaca strukture | struct pracownicy | { | kod char[10]; | imie char[20]; | nazwisko char[30]; | haslo char[10]; | }; Uwaga wstepna: nie wiem czy nie bedziesz musial wlaczyc czegos 'structure packing' (nie znam polskiego terminu). W niektorych Borlandach trzeba bylo (nie wiem jak to bedzie w przypadku buildera).
| Nie bardzo wiem jak sie za to zabrać | prosze o kawalek kodu (BUILDER)!!
Oto prosty (i niekompletny) przyklad:
#include <stdio.h
struct pracownicy { char kod[10]; char imie[20]; char nazwisko[30]; char haslo[10]; };
void main() { FILE *f; file://otwarcie pliku itp. standardowe operacje... pracownicy kolesie; file://wypelnienie struktury... fwrite(&kolesie, sizeof(struct pracownicy), 1, f); }
A nie prosciej uzyc typowych dla C++(w koncu to C++, a nie C Builder) strumieni(fstream)?
wtedy masz plik.write(obiekt,rozmiar_obiektu) lub plik.read(obiekt,rozmiar_obiektu);
Czy nie po to wymyslono C++, aby nie wracac do operacji wykonywanych przy uzyciu wskaznika FILE?:#
Marek Bisz - 9 Sie 1999, 03:00
Jak zapisac do pliku nastepujaca strukture struct pracownicy { kod char[10]; imie char[20]; nazwisko char[30]; haslo char[10]; }; Nie bardzo wiem jak sie za to zabrać prosze o kawalek kodu (BUILDER)!!
Wyglada to na fragment czegos wiekszego, wiec moze od razu zastanow sie nad wykorzystaniem baz danych (zakladka data acces/data contol, katalog examples/db). Zaoszczedzi Ci to mase roboty, jesli ma sie z tego cos wiekszego urodzic...
-------------------- http://www.hotele.net - Baza danych polskich hoteli, obiektow turystycznych i noclegowych Tysiace pozycji ! Mozliwosc dolaczenia wlasnego komentarza do kazdego obiektu ! Zajrzyj koniecznie ! Strona w nieustajacej rozbudowie !
Maciej Maczynski - 9 Sie 1999, 03:00
<---------------------- CUT --------------------
A nie prosciej uzyc typowych dla C++(w koncu to C++, a nie C Builder) strumieni(fstream)? wtedy masz plik.write(obiekt,rozmiar_obiektu) lub plik.read(obiekt,rozmiar_obiektu);
Czy nie po to wymyslono C++, aby nie wracac do operacji wykonywanych przy uzyciu wskaznika FILE?:#
Nie. C++, (a przedtem C with Classes) wymyslono po to, zeby miec klasy :)))) Strumienie wymyslono po to, zeby uniknac problemow z kontrola typow argumentow ( a raczej jej braku ) w printf, scanf etc. Przynajmniej takie wrazenie odnioslem po lekturze "C++ Design & Implementation" Stroustrup'a. Ze skrucha przyznaje, ze mnie na przyklad jako staremu "C"-ownikowi trudno mi sie rozstac z FILE ...
Pozdrawiam, Maciej
Adam 'aimsoft' Michalski - 9 Sie 1999, 03:00
| Jak zapisac do pliku nastepujaca strukture | struct pracownicy | { | kod char[10]; | imie char[20]; | nazwisko char[30]; | haslo char[10]; | }; | Uwaga wstepna: nie wiem czy nie bedziesz musial wlaczyc czegos 'structure | packing' (nie znam polskiego terminu). W niektorych Borlandach trzeba bylo | (nie wiem jak to bedzie w przypadku buildera).
| Nie bardzo wiem jak sie za to zabrać | prosze o kawalek kodu (BUILDER)!!
| Oto prosty (i niekompletny) przyklad:
| #include <stdio.h
| struct pracownicy | { | char kod[10]; | char imie[20]; | char nazwisko[30]; | char haslo[10]; | };
| void main() | { | FILE *f; | file://otwarcie pliku itp. standardowe operacje... | pracownicy kolesie; | file://wypelnienie struktury... | fwrite(&kolesie, sizeof(struct pracownicy), 1, f); | } A nie prosciej uzyc typowych dla C++(w koncu to C++, a nie C Builder) strumieni(fstream)?
wtedy masz plik.write(obiekt,rozmiar_obiektu) lub plik.read(obiekt,rozmiar_obiektu);
Czy nie po to wymyslono C++, aby nie wracac do operacji wykonywanych przy uzyciu wskaznika FILE?:#
A czy przedmowca wyraznie zastrzegal, ze to ma byc obiektowo? Nie? No to czemu sie czepiasz?
Pozdrawiam
Adam Michalski, 17 lat
Artur Drzyzga - 9 Sie 1999, 03:00
Działa !!!!!!
Plik.open("$$$.txtx"); ale w pliku *.h trzeba było zadeklarować :
typedef fstream PracownikFileType; /bez tego kompilator (Builder 3) wywalał Błąd!!!
A ha nie bardzo wiem jak się przesuwać po rekordach !!!
Dzięki !!!!
<---------------------- CUT -------------------- | A nie prosciej uzyc typowych dla C++(w koncu to C++, a nie C Builder) | strumieni(fstream)? | wtedy masz plik.write(obiekt,rozmiar_obiektu) lub | plik.read(obiekt,rozmiar_obiektu);
| Czy nie po to wymyslono C++, aby nie wracac do operacji wykonywanych przy | uzyciu wskaznika FILE?:#
Nie. C++, (a przedtem C with Classes) wymyslono po to, zeby miec klasy :)))) Strumienie wymyslono po to, zeby uniknac problemow z kontrola typow argumentow ( a raczej jej braku ) w printf, scanf etc. Przynajmniej takie wrazenie odnioslem po lekturze "C++ Design & Implementation" Stroustrup'a. Ze skrucha przyznaje, ze mnie na przyklad jako staremu "C"-ownikowi trudno mi sie rozstac z FILE ...
Pozdrawiam, Maciej
Milo - 9 Sie 1999, 03:00
Działa !!!!!! Plik.open("$$$.txtx"); ale w pliku *.h trzeba było zadeklarować :
typedef fstream PracownikFileType; /bez tego kompilator (Builder 3) wywalał Błąd!!!
Nie rozumiem po co ten typedef. Na moim Builderze (tez 3) uzycie fstream nie sprawia jakis problemow. Czy aby inkludowales plik "fstream.h"? Poza tym, jesli utworzysz plik w ten sposob: fstream plik("$$$.txt") to nie musisz juz pisac plik.open("$$$.txt"). Poza tym zapoznaj sie z lista fag uzywanych przy tworzeniu obiektu, a szczegolnie z flaga ios::binary, ktora umosliwia pracowanie w trybie binarnym. Ten tryb jest wymagany, aby read/write dzialalo poprawnie(dziala i bez tego, ale czasami wyniki moga zaskoczyc).
A ha nie bardzo wiem jak się przesuwać po rekordach !!!
To juz zalezy TYLKO od ciebie i tego w jaki sposob te rekordy zapisujesz. Czy kolejno, robisz jakies drzewa, czy moze zupelnie inaczej. W kazdym razie odczytuje sie zwykle tak samo jak sie zapisuje, bo inaczej dostaniesz kaszane.
Alva - 9 Sie 1999, 03:00
Ze skrucha przyznaje, ze mnie na przyklad jako staremu "C"-ownikowi trudno mi sie rozstac z FILE ...
A to niepoprawny konserwatysta!
\|/ \|/ \o==O=== Pozdrawiam! ====O==o/ -*=.Tomek."Alva".Wroblewski.*- /oO........................Oo\
Artur Drzyzga - 10 Sie 1999, 03:00
Jak stane na koniec pilku to nie moge sie z niego ruszyć
Plik.seekg(pozycja*sizeof(Rekord));
Dlaczego ?
Milo - 10 Sie 1999, 03:00
Jak stane na koniec pilku to nie moge sie z niego ruszyć
Plik.seekg(pozycja*sizeof(Rekord));
Dlaczego ?
Bo jest ustawiana flaga bledu(konca pliku). Wymaz wszystkie flagi bledow, a bedziesz mogl przeprowadzac dalsze operacje. Swoja droga, jesli program wychodzi poza plik, to cos jest nie tak, chyba ze warunkiem jest wlasnie osiagniecie konca pliku.
wyznaczniki macierzy... i inne...
Adobe
iterowanie od końca
color w dialogboxie
plyta indukcyjna 230 v
stanislaw komorowski
rysunki plastyczne kobiet
C288C288C288C288 s i e r p i e n 2006 C288C288C288C288 1700
jak zaprogramowac stacje radiowe w
liero;game
gry;symulatory;czolgowe
jbl gto1264 czy jbl gt5 12 co kupic
pozdr f focus czarny
Kolekcja tematów z for internetowych ^^ Strona Główna
|
|