Funkcje C w C++

0

Co myślicie o używaniu funkcji C (np. do operacji na plikach - fopen() itp.) w C++?

0

Wykonalne, ale niezalecane bez wyraźnej przyczyny.

0

Jakie to przyczyny na przykład?

0

Co to w ogóle za pytanie!?
chociaż...
fstream jest na 100% wygodniejszy itd.Tyle w temacie.

0

Co myślicie o używaniu funkcji C (np. do operacji na plikach - fopen() itp.) w C++?

Myślę że ja ich używam zawsze i do wszystkiego (żadnych fstreamów), co wcale nie znaczy że jest to dobra rzecz.

Dopóki nie pracujesz w (większym) zespole albo wykładowca/nauczyciel nie obleje cie za to używaj po prostu tego co ci jest wygodne.

0

Przyczyna jest, jak już się dowiedziałeś, niewyraźna.
Generalnie na wszystko (no powiedzmy znaczną większość) jest odpowiednik obiektowy w C++. I to jest chyba ta przyczyna.
Ale zgodność z C jest badzo wysoka, całe programy w C można kompilować jako C++ z najwyżej niewielkimi poprawkami.

0

fopen bierze argumenty jako string. STRING.
kretynstwo. do tego nie jest to natywna funkcja zadnego os.

Wiec nie uzywac, no chyba ze w php, bo tam raczej nie ma czego innego.

0
qwe12 napisał(a)

Wiec nie uzywac...

Niby dlaczego ? Podobnie jak MSM caly czas z tego korzystam, jesli cos pisze w C++. To, ze nie nalezy do systemu nie ma zadnego znaczenia. Predzej bym powiedzial, zeby open nie uzywac ;>

0

raz ze zwraca FILE*
dwa ze nie obsluguje unicode
trzy ze argumenty bierze w stringu
cztery ze nie mozna okreslic praw jakie chce sie miec
piec ze funkcje operujace na FILE* sa z*****e .
szesc ze jest z msvcrt pod windowsem

windows ma CreateFileW, linux sys_creat.

0

siedem ze std/in/out/err uzywane w funkcjach pochodnych jest stale.

0
qwe123 napisał(a)

raz ze zwraca FILE*

Argument nie do podwazenia...

qwe123 napisał(a)

dwa ze nie obsluguje unicode

Trudno, jest to wada, ale zeby od razu nie uzywac ?

qwe123 napisał(a)

trzy ze argumenty bierze w stringu

Nie, bierze w const char *

qwe123 napisał(a)

cztery ze nie mozna okreslic praw jakie chce sie miec

Mozna.

qwe123 napisał(a)

piec ze funkcje operujace na FILE* sa z*****e .

?

qwe123 napisał(a)

szesc ze jest z msvcrt pod windowsem

A tego nie wiem, czy pochodzi z msvcrt, ale nie zaprzeczalne jest to, ze tam jest zdefiniowane, wiec kolejny argument nie do podwazenia.

Co do tych dwoch funkcji to obie przyjmuja wskazniki na char.

0

Czemu nie używam do prostego wczytywania (nie tylko otwierania plików) strumieni? Bo jakoś denerwuje mnie, gdy do pobrania tekstu od użytkownika w języku bliskim maszynie (nie napiszę że niskopoziomowym bo flame rozpocznę) muszę korzystać z obiektowości (!), dziedziczenia (!!) i przeciążenia operatorów (!!!).

0

Zapomniałeś dodać, że to dziedziczenie jest wirtualne i dosyć karkołomne...

1 użytkowników online, w tym zalogowanych: 0, gości: 1