Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: write(), read() problem  (Przeczytany 11002 razy)

j3drek

  • Gość
write(), read() problem
« Odpowiedź #15 dnia: 2006-05-05, 11:22:32 »
2006-05-04 22:59:55 chmooreck napisał:

> wydaje mi sie, ze autorowi zadania chodzilo o wykorzysztanie funkcji read i write, a nie
 > automatyczna alokacje bufora odpowiedniej wielkosci ;-)

no wiem :-)
ale to jest tylko przyklad, a nie rozwiazanie tego konkretnego zadania.

Poza tym jest tam uzycie read(), wlasciwie fread() ale mozna by to zastapic :P

i na koniec taka dobra rada dla @nstn manuale systemowe to podstawa, tam jest praktycznie wszystko :)

chmooreck

  • Gość
write(), read() problem
« Odpowiedź #16 dnia: 2006-05-05, 21:23:04 »
na kiedy masz zrobic to zadanie ?

nstn

  • Gość
write(), read() problem
« Odpowiedź #17 dnia: 2006-05-05, 22:06:18 »
2006-05-05 21:23:04 chmooreck napisał:

> na kiedy masz zrobic to zadanie ?
 na niedziele ale moze kumpel dzisiaj cos tez wymysli i moze dorzuci tu kilka swoich zlotych mysli

aha, i jeszcze jedno
nikt mi nic nigdy nie tłumaczyl na ten temat

chmooreck

  • Gość
write(), read() problem
« Odpowiedź #18 dnia: 2006-05-05, 23:39:22 »
2006-05-04 20:37:53 chmooreck napisał:

> 2006-05-04 19:30:20 nstn napisał:
 >
 >  > 2. bufor alokuje dynamicznie bo nie wiem ile znakow bedzie mial ten ciąg znakow
 >
 > to teraz mi powiedz jakiej dlugosci bufor zaalokowales... bo nie daje mi to spokoju ;-)

??

 >  > 4. ale jak wprowadzic te dane? Nie kumam tego
 >
 > poczytaj co to jest ten fd (file descriptor)...

w szczegolnosci czy ma jakis zwiazek ze standardowym wejsciem i wyjsciem ?


 > nikt mi nic nigdy nie tłumaczyl na ten temat

to najwyzszy czas zajrzec do manuali ;-)

P.S.
WYJATEK (tylko dla mstn, dla tego watku): jesli chcesz, to mozesz przeslac mi na maila twoje gg, moze akurat znajde chwilke, zeby ci pomoc... potem OBOWIAZKOWO dzialajacy program wklej tu, na forum, laczie z komentarzem co sie skad wzielo... ;-)

chmooreck

  • Gość
write(), read() problem
« Odpowiedź #19 dnia: 2006-05-07, 19:59:46 »
poniewaz jest juz schylek niedzieli i tak mam juz to napisane... dla potomnosci...


#include

#define MAX_BUF_LEN 1024

int main(int argc, char ** argv)
{
  char str1[MAX_BUF_LEN];
  char str2[MAX_BUF_LEN];
  int str1len, str2len;

  str1len = read (0, str1, MAX_BUF_LEN);
  if (str1len == -1 ){
    // Obsluga bledu    
    return 1;
  }
  str2len = read (0, str2, MAX_BUF_LEN);
  if (str2len == -1 ){
    // Obsluga bledu    
    return 2;
  }

  if (str1len >= str2len){
    write(1, str1, str1len);
  }
  if (str1len <= str2len){
    write(1, str2, str2len);
  }

  return 0;
}


i jeszcze tytulem wytlumaczenia dla nstn:
stdin zawsze ma deskryptor pliku rowny 0, stdout 1, a stderr 2
strumienie te otwiera dla kazdego programu system i my nie musimy sie martwic ich otwieraniem i nie powinnismy ich zamykac... reszta chyba dla ciebie jest oczywista ;-)

nstn

  • Gość
write(), read() problem
« Odpowiedź #20 dnia: 2006-05-08, 18:10:51 »
wiedzialem ze to zadanie jest proste, ale nie myslalem ze az tak...


dzieki chmooreck