Wat is het nieuwe lijnteken in de C-taal: \ r of \ N?

Wat is het nieuwe lijnteken in C? Ik weet dat een ander besturingssystemen verschillende line-eindpersonen hebben, maar ze worden vertaald in het c-newline-personage. Wat is dat karakter?


Antwoord 1, Autoriteit 100%

Het is \n. Wanneer u tekstmodusbestanden aan het lezen of schrijven, of op STDIN / STDOUT, enz., Moet u \ngebruiken en C zullen de vertaling voor u behandelen. Wanneer u te maken hebt met binaire bestanden, bent u per definitie alleen.


Antwoord 2, Autoriteit 28%

Wat is het nieuwe lijnteken in de C-taal: \ r of \ n?

De nieuwe regel kan worden gedacht aan een charen het heeft de waarde van '\n'. C11 5.2.1

Deze C NEW-Line komt op in 3 plaatsen: C Broncode, als een enkele charen als een eind-of-line in bestand I / O wanneer in Tekst MODE.

  1. Veel compilers behandelen brontekst als ASCII. In dat geval, codes 10, soms 13, en soms 13,10 gecombineerd als nieuwe lijn voor broncode. Had de broncode in een andere tekenset geweest, kunnen verschillende codes worden gebruikt. Deze nieuwe lijn markeert meestal het einde van een broncode (eigenlijk een beetje ingewikkelder), // commentaar en # richtlijnen.

  2. In broncode, de 2 tekens \EN nWeerwoord de charNieuwe regel als \n. Als ASCII wordt gebruikt, zou dit charde waarde van 10 hebben.

  3. in bestand I / O, in de tekstmodus , bij het lezen van de bytes van het ingangsbestand (en STDIN), afhankelijk van het milieu , wanneer bytes Met de waarde (en) van 10 (UNIX), 13,10 , (* 1) (Windows), 13 (Old Mac ??) en andere variaties worden vertaald in een ‘\ n’ . Bij het schrijven van een bestand (of stdout), treedt de omgekeerde vertaling voor.
    Opmerking: Bestands-I/O in binaire modus maakt geen vertaling.

De '\r'in de broncode is de regelterugloop char.

(*1) Een eenzame 13en/of 10kan ook vertaald worden in \n.


Antwoord 3, autoriteit 19%

Als je met newline het newline-tekenbedoelt, is dit \nen \ris het carrier return-teken, maar als je met newline het regeleinde bedoelt, dan hangt het van het besturingssysteem af: DOS gebruikt een regelterugloop en regelinvoer (“\r\n”) als regeleinde, wat Unix alleen gebruikt regelinvoer (“\n”)


Antwoord 4, autoriteit 9%

‘\r’ = regelterugloop en ‘\n’ = regelinvoer.

In feite zijn er enkele verschillende gedragingen wanneer u ze in verschillende besturingssystemen gebruikt. Op Unix is het ‘\n’, maar het is ‘\r”\n’ op Windows.

Other episodes