Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 4.880 pregleda

Najnovija ↓

Da li je ovo bug u kompajleru ? 29.12.2003. u 19:47 · pre 278 meseci #1
Code:

    char *src = "hi\r\nworld";
    FILE *fstream = fopen ("test.txt", "w");
    fwrite (src, 1, strlen(src), fstream);
    fclose (fstream);


on ce od jednog \r da napravi 2 \r, pa ce fajl da izgleda ovako:
68 69 0D 0D 0A 77 6F 72 6C 64

Dva puta 0D.

Da li sam ja neobavesten, pa koristim pogresnu funkciju (mozda treba write() umesto fwrite() ?), ili je ovo bug u kompajleru ?
Re: Da li je ovo bug u kompajleru ? 29.12.2003. u 20:04 · pre 278 meseci #2
Nije bug.

Otvorio si fajl u text modu, au tom slučaju se \n interpretira kao \r\n. Jedino kad radiš sa binarnim modom, potrebno je da pišeš \r\n, a u tekstualnom modu je \n sasvim dovoljno, a uz to i portabilno (pod *nixom ostane \n, a pod Windows/DOS itd se "pretvori" u \r\n)
Potpis
IOCC
Re: Da li je ovo bug u kompajleru ? 29.12.2003. u 20:41 · pre 278 meseci #3
Sada su mi jasni svi fenomeni u mom programu... a bilo ih je nekoliko...

funkcija za citanje fajla je tvrdila da je fajl 100 bajta, a strlen() je tvrdio da je fajl 116 bajta ... :)
Re: Da li je ovo bug u kompajleru ? 30.12.2003. u 07:11 · pre 278 meseci #4
Mala digresija.
Cest problem koji se javlja, a vezan je za datu tematiku, je, kada je arhiva (.zip, .arj, .rar) na serveru na kome se nalazi (a bogami i drugi fajlovi) pogresno okarakterisana kao TEXT file , pa prilikom download-a iste na Win platformu, dolazi do umetanja \r karaktera ispred svakog \n od strane servera, te kao rezultat, prilikom otvaranja iste dobijamo poruku "Archive is corrupted. If you downloaded it from the Internet, please retry or contact webmaster" ili sl. Postoje alati koji sluze za popravljanje ovakvih arhiva (isti se mogu napisati za 5 minuta), a neki arhiveri imaju ugradjenu podrsku za popravljanje arhiva koje su na ovaj nacin izmenjene.
Potpis
O_o
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme