Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Newline e Carriage Return
Forum - C/C++ - Newline e Carriage Return

Avatar
ShellC91 (Normal User)
Newbie


Messaggi: 15
Iscritto: 29/06/2010

Segnala al moderatore
Postato alle 20:16
Giovedì, 08/07/2010
Salve volevo sapere se in C su WINDOWS per quanto riguarda il carattere di newline su stdin, su file, o su socket la sequenza corretta sia

"\n"

oppure

"\r\n"

Cosa comporta l'utilizzo di una o dell'altra?
Qual'è la più corretta?

Grazie a tutti voi :k:


DUAL-BOOT: Windows - Debian

http://counter.li.org
Linux user #515661.
PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 967
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 21:24
Giovedì, 08/07/2010
Ciao!
Il carattere new line ( \n ) serve a far scorrere il cursore sulla riga nuova, e lo posiziona al suo inizio. Mentre il carattere '\r' posiziona il cursore a inizio riga.


Nulla va più veloce della luce, quindi rilassati.
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5704
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:26
Giovedì, 08/07/2010
Unix si attende che due linee in un file siano separate da LF  (\n)

Windows, invece, si attende il CRLF  (\r\n)



Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
ShellC91 (Normal User)
Newbie


Messaggi: 15
Iscritto: 29/06/2010

Segnala al moderatore
Postato alle 21:29
Giovedì, 08/07/2010
Ok grazie per le risposte quindi su Windows in ogni contesto (se la stringa è printata su stdin, oppure su file o su socket...) devo usare "\r\n" perchè Windows si attende CRLF?


DUAL-BOOT: Windows - Debian

http://counter.li.org
Linux user #515661.
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5704
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:31
Giovedì, 08/07/2010
Vale per i file.

Su socket non è detto. In quel caso dipende dal protocollo e da cosa stai facendo.

Se trasmetti un file, non devi usare nè CR nè LF perché corromperesti il file.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
ShellC91 (Normal User)
Newbie


Messaggi: 15
Iscritto: 29/06/2010

Segnala al moderatore
Postato alle 21:35
Giovedì, 08/07/2010
Il protocollo è TCP/IP e si tratta di un semplice invio di stringhe.


DUAL-BOOT: Windows - Debian

http://counter.li.org
Linux user #515661.
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5704
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:44
Giovedì, 08/07/2010
Non mi riferivo al protocollo di rete, ma al protocollo applicativo scelto.

In pratica, quello che importa è come il server si aspetta le tue stringhe.
Se il server lo scrivi tu, non ha alcuna importanza ... potresti anche non usare nulla.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote