سلام و صبحتون بخیر
ببینید r\ به معنای <CR> یا carriage return هست.کاری که این کاراکتر مخفی انجام میده رفتن به ابتدای خط هست.
n\ هم که به اون new line یا line feed هم گفته میشه،کارش همون کاریه که کلید enter انجام میده.
مفهوم r\ در سیستم های ویدوز و یونیکس یکی هست.اما در رابطه با رفتن به خط بعدی (<LF>) در سیستم یونیکس n\
این کار رو انجام میده اما در ویدوز بسیاری اوقات باید از r\n \برای این کاراستفاده کنید.
به خاطر این تفاوت در سیستم هاست که توصیه میشه برای برنامه های Cross Platform از Enviroment.NewLine
بجای اینها استفاده بشه.جالب اینکه در سیستم mac همr \ کار NewLine رو انجام میده.
اما سوالی که ممکنه پیش بیاد اینه که واقعا تفاوت r\ وn\ در چی هست؟ توضیح این تفاوت چندان ساده نیست،اما من با یه مثال سعی می کنم شما رو روشن کنم؛
NotePad رو باز کنید و در خط اول چند عدد بنویسید،بعد به خط بعدی برید و اونجا هم چند عدد دیگه..
حالا به خط اول برگردید و آخر خط وایستید(=carriage رو به انتهای خط ببرید) (همچنین می تونید با کلید end هم این کارو انجام بدید)حالا کلید right رو فشار بدید.چه اتفاقی می افته؟
بله شما به ابتدای خط بعدی رفتید.دوباره به انتهای خط اول برگردید و این بار بجای کلید right کلید enter رو فشار بدید.تفاوت رو متوجه شدید؟