Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. 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:

PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
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.

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
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?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
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.

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
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