Oppure

Loading
08/07/10 18:16
ShellC91
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:
aaa
08/07/10 19:24
Poggi Marco
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.
aaa
08/07/10 19:26
Unix si attende che due linee in un file siano separate da LF (\n)

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

08/07/10 19:29
ShellC91
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?
aaa
08/07/10 19:31
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.
08/07/10 19:35
ShellC91
Il protocollo è TCP/IP e si tratta di un semplice invio di stringhe.
aaa
08/07/10 19:44
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.