שהן רוצות.
במיוחד בשביל האשכול, העלתי קובץ שהכנתי.
הוא מהמבנה של ===name: comm===
כאשר name זו הפקודה שנכתבה ו-comm זו הפקודה שמייד אחריה.
אתה תראה שב-notepad++ יהיו ירידות שורות עבור כולן.
ב-notepad רק ה-\r\n תהווה ירידת שורה.
ב-wordpad רק מה שהוא או \n או \r\n יהווה ירידת שורה.
אבל, ככה לא בודקים. בודקים ב-console של הוינדוז עליו גם כל ה-GUI של מערכת ההפעלה מסתמך.
תרשום type data.txt ותראה שזהו הפלט:
=== r:
===\n:
===
===\r\n:
===
כלומר, אחרי ה=\r הראשון חזרנו לתחילת השורה מבלי לרדת אחת, ולכן לאחר מכן כשהוא רושם עוד ===, הוא בעצם דורס את ה-=== הקודמים.
בשאר המקרים, הוא מתרגם את \n ו-\r\n באופן זהה (מהסיבה שאין המשך לשורה הבאה, אבל אם היה המשך - \n היה ממשיך מאותה עמודה בה נעצר והלאה).
בנוגע למה יותר טוב ומה פחות טוב? זו שטות גמורה.
לדעתי, המימוש הרבה יותר קל עבור שפות עיליות במיוחד (לא C/++C) כשיש \n ו-\r מופרדים, ולכן דווקא הקונספט של ווינדוז (המסתמך על ה-UNIX ולא השתנה במהלך השנים כמו בלינוקס) - הוא היותר נכון.
בברכה,
עידן