Wpis z mikrobloga

Byłabym bardzo wdzięczna, gdyby ktoś mi zerknął na kod i pomógłby mi z funkcją write(), która teoretycznie powinna utworzyć kopię pliku (z tekstem), a nie tylko nowy plik. Niestety mogę tylko użyć write i read do wczytywania, przez co zadanie robi się problematyczne.
Link do pastebin: https://pastebin.com/JMzAhu4b

#jezykc #informatyka #ansic
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Iribell:
linia 63. tworzysz file descriptor (in), ale nie używasz go do niczego, prawdopodobnie chciałaś użyć któregoś z tablicy fd.
linia 65. nie sprawdzasz pliku, tylko porównujesz wartość stringa z jego nazwą do nulla, to zawsze będzie prawdziwe (coś jak 17 != 15), powinnaś sprawdzić czy fd jest poprawny (fd zwraca funkcja open)
linia 93. zapisujesz coś do przypadkowego fd (argument 1), nawet nie masz nic otwartego.
linia 99. to nie da żadnego efektu, a już na pewno nie zwiększy rozmiaru pliku (jeśli taki był w ogóle zamiar)
Jest bałagan z otwieraniem i zapisywaniem plików. Na początku obu funkcji zamykasz nieotwarte fd, zapisujesz i czytasz też na nieotwartych fd, zamykasz też nie to
  • Odpowiedz
@elfo: Wiedziałam, że moje zadanie to bałagan, ale nie sądziłam, że aż taki. Chyba lepiej je będzie zrobić od początku. W każdym razie dzięki.
  • Odpowiedz