Avatar billede iceyblue Nybegynder
09. juni 2004 - 21:14 Der er 18 kommentarer og
1 løsning

hvad betyder /r

Hejsa...

Ligesom \n benyttes til at lave linieskift og \t bruges til tabulation...hvad gør \r så??

Mvh. IceyBlue
Avatar billede arne_v Ekspert
09. juni 2004 - 21:15 #1
\r = CAR RETURN = ASCII kode 13
Avatar billede arne_v Ekspert
09. juni 2004 - 21:20 #2
Som oftest brugt sammen med \n altså \r\n

Kan alene (i passende sammenhænge) flytte curent position ud til starten af linien
Avatar billede iceyblue Nybegynder
09. juni 2004 - 21:26 #3
ja det er rigtigt....jeg benytter den i forbindelse med \r\n ....men jeg har da også benyttet \n alene...hvad er forskellen så på \n  og \r\n og evt. også med en \t på når jeg skriver fra C# ned i en txt-fil...?
Avatar billede fangel Nybegynder
09. juni 2004 - 21:32 #4
tjaa - mange internet-protokoller kræver \n\r, derfor er de nødvendige...

De forskellige platforme har også lidt forskellige syn på det

Linieskift:
Windows: \n\r
Linux: \n
Mac: \r (mener jeg, kan være ændret til \n i OS X)

Morten
Avatar billede iceyblue Nybegynder
09. juni 2004 - 21:36 #5
se det giver mening...jeg den metode jeg sidder og koder skriver nemlig et xml ned i en fil, som senere benyttes til at opbygge en TreeList server control ;)

læg et svar...;)
Avatar billede iceyblue Nybegynder
09. juni 2004 - 21:37 #6
håber det er forståeligt...hehehe...det gik vist lidt for hurtigt ;)
Avatar billede arne_v Ekspert
09. juni 2004 - 21:37 #7
Normalt bør du ikke skrive nogen af delene ned i en text fil.

WriteLine laver selv et korrekt linieskift som er \r\n på Windows.

En hel del Windows applikationer betragter imidlertid også \n som
linieskift.

Og det bliver ikke bedre af at et C/C++ program hvori der skrives \n til
en text fil automatisk bliver konverteret til \r\n.

Det er nemmere på Linux hvor det ret konsekvent er \n som er linieskift.

Flere af de gængse net protokoller bl.a. HTTP og SMTP forskriver brug
af \r\n.
Avatar billede arne_v Ekspert
09. juni 2004 - 21:41 #8
Eller mere kontant:

WriteLine : virker altid
\r\n      : virker altid på Windows og aldrig på Linux
\n        : virker altid på Linux og sommetider på Windows

Nu er C# programmører sjældent så fokuserede på om deres kode kan køre
med Mono på Linux, så du kan bruge \r\n, men jeg vil ikke anbefale det.
Avatar billede iceyblue Nybegynder
09. juni 2004 - 21:48 #9
jeg har altid kun benyttet \n når jeg selv skulle skrive data til fil...
Men denne gang indlæste jeg en fil for st se hvordan det så ud og der lagde jeg mærke til, at den bl.a brugte \r\n\t....og det fortsatte jeg så da det virkede...men blev selvfølgelig nysgerrig efter hvilken funktion det reelt havde...Jeg prøvede også at fjerne \r...men så skrev den en firkant ned i filen...hvilket jeg tolker som en non-printable ACSII værdi jeg prøver at skrive til fil...? Men nu hvor den kode jeg laver nu generere et xml dokument som bagefter bliver tolkes af nogle klasser på serveren...så kan vel både en windows og Linux bruger benytte det jeg laver...ik'?
Avatar billede arne_v Ekspert
09. juni 2004 - 21:52 #10
Du skriver din XMl fil med \r\n, så virker den perefkt på Windows.

Når så den flyttes over på Linux, så er det programmer det flytter som har
ansvar for at konvertere korrekt fra Windows format \r\n til Linux format \n.

Hvis man i FTP angiver text mode så virker det perfekt (men ikke i binary mode).
Avatar billede fangel Nybegynder
09. juni 2004 - 21:56 #11
arne_v -> KDE's Kate, KWrite og KEdit har ingen prob. med \n\r, man kan sågar angive om man ønsker filer gemt på denne måde (End of Line-mode: Linux/Windows/Mac)

Morten
Avatar billede iceyblue Nybegynder
09. juni 2004 - 21:57 #12
ok! Du er som sædvanlig det mest flittige skibent herinde ;) og fortjener points !
Avatar billede iceyblue Nybegynder
09. juni 2004 - 21:58 #13
den! ;)
Avatar billede arne_v Ekspert
09. juni 2004 - 21:59 #14
fangel>

Prøv i vi ...

(iøvrigt er det normalt \r\n ikke \n\r)
Avatar billede arne_v Ekspert
09. juni 2004 - 22:00 #15
Men OK :

\r\n      : virker altid på Windows og sommetider på Linux
Avatar billede arne_v Ekspert
09. juni 2004 - 22:00 #16
Og et svar
Avatar billede finger Nybegynder
10. juni 2004 - 09:22 #17
Kan ikke gennemskue om det allerede er fortalt, men her er meningen med det:

\r = Carrige Return
\n = newline

Det stammer fra skrivemaskinens tid.
Carrige return (\r) betyder at man flytter markøren tilbage til position 1. det er det man gjorde på sin skrivemaskine hvor man fysisk flyttede rullen der holdt papiret (=carrige) tilbage for at komme til position 1.
Imidlertidigt forudsagede dette ikke automatisk lineskift. For at komme ned på næste linie skull eman hive i et håndtag.
De smarte skrivemaskiner havde så koblet begge funktioner ind i eet håndtag.

Men det er ihvertfald der det stammer fra :-)

p.s. Jeg har aldrig hørt om \t før.
Avatar billede arne_v Ekspert
10. juni 2004 - 10:03 #18
Jo du har.

\t = TAB = Tabulator
Avatar billede finger Nybegynder
10. juni 2004 - 11:26 #19
ah. ja selvfølgelig :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester