\ N এবং \ r এর মধ্যে পার্থক্য?


608

\n(নিউলাইন) এবং \r(ক্যারেজ রিটার্ন) এর মধ্যে পার্থক্য কী ?

বিশেষ করে, থেকে থাকে ব্যবহারিক পার্থক্য \nএবং \r? এমন জায়গাগুলি রয়েছে যেখানে অন্যের পরিবর্তে একটি ব্যবহার করা উচিত?


3
সমস্ত উত্তর মোটামুটি অনুমানযোগ্য, তবে \ n এবং \ r এর মধ্যে কোনও ব্যবহারিক পার্থক্য রয়েছে কিনা তা জানতে আগ্রহী হব। এমন কোনও জায়গা আছে যেখানে একটির উপরের ব্যবহার করা উচিত?
ইম্পালা ভ্লাদ 5

9
হ্যাঁ, কেবলমাত্র এলএফ (নিউলাইন) সহ পাঠ্য ফাইলগুলি কিছু উইন্ডোজ অ্যাপ্লিকেশনগুলিতে সমাপ্ত হিসাবে দেখা যাবে না এবং কিছু লিনাস অ্যাপ্লিকেশনগুলিতে খোলার সাথে সাথে সিআরএলএফ দিয়ে টার্মিনেট ফাইলগুলি অতিরিক্ত অক্ষর হিসাবে উপস্থিত হবে have
পাভিয়াম

2
হ্যাঁ, lin r কিছু লিনাক্স কনসোল অ্যাপ্লিকেশন ঘোরানো লাইন অ্যানিমেশন করতে ব্যবহৃত হয়।
মুরালি

8
Really r আসলেই কি এখনও সাধারণ ম্যাক ইওল? আমি নিশ্চিত এটি "ক্লাসিক" ম্যাকের জন্য ছিল তবে আমি ভেবেছিলাম যে ওএস এক্স ইউনিক্সড হয়েছে। (আমি ম্যাকসের সাথে কতটা পরিচিত তা দেখায়, তাই?)
জন ওয়াই

11
icallyতিহাসিকভাবে একটি the n গাড়িটি নীচে নামানোর জন্য ব্যবহৃত হয়েছিল, যখন \ r ব্যবহার করা হয়েছিল পৃষ্ঠার বাম দিকে ফিরে।
কার্তিক গরিজাবলু

উত্তর:


826

এসকি কোডের ক্ষেত্রে এটি 3 - যেহেতু তারা যথাক্রমে 10 এবং 13 ;-)।

তবে গুরুত্ব সহকারে অনেকগুলি রয়েছে:

  • ইউনিক্স এবং সমস্ত ইউনিক্স-মতো সিস্টেমে \nলাইন-এর শেষের কোড, \rমানে বিশেষ কিছুই নয়
  • ফলস্বরূপ, সি এবং বেশিরভাগ ভাষায় যে কোনওভাবে এটি অনুলিপি করে (এমনকি দূরবর্তীভাবেও), \nএটি লাইনের শেষের জন্য স্ট্যান্ডার্ড এস্কেপ ক্রম (প্রয়োজন হিসাবে ওএস-নির্দিষ্ট অনুক্রমগুলিতে / অনুবাদিত)
  • পুরানো ম্যাক সিস্টেমে (প্রি-ওএস এক্স) এর \rপরিবর্তে লাইনটি শেষের জন্য কোড ছিল
  • উইন্ডোজে (এবং অনেকগুলি পুরানো ওএস), \r\nএই ক্রমে লাইনের শেষের জন্য কোডটি 2 টি অক্ষর
  • একটি হিসাবে (আশ্চর্যজনক ;-) ফলাফল (উইন্ডোজ থেকে অনেক পুরানো ওএসগুলিতে ফিরে আসা), \r\nইন্টারনেটে পাঠ্য বিন্যাসগুলির জন্য আদর্শ লাইন-সমাপ্তি
  • ইলেক্ট্রোমেকানিকাল টেলি-টাইপের মতো "টার্মিনাল" এর জন্য, \rগাড়িটি বাম দিকে যেতে নির্দেশ দেয় যতক্ষণ না এটি বাম দিকের স্টপটি (একটি ধীরে ধীরে অপারেশন) হিট করে, রোলারকে \nএকটি লাইন রোল করার নির্দেশ দেয় (আরও দ্রুত অপারেশন) - এই কারণটি আপনার কাছে সর্বদা থাকে \r এর আগে \n , যাতে গাড়িটি বাম দিকে যেতে চলাকালীন বেলনটি চলাফেরা করতে পারে! -) উইকিপিডিয়ায় আরও বিস্তারিত ব্যাখ্যা রয়েছে
  • চরিত্র-মোড টার্মিনাল কাঁচা মোডে, (সাধারণত এমনকি-পুরোনো মুদ্রণ উপরে যেমন বেশী এমুলেট), জন্য \rএবং \nকার্সার পরিপ্রেক্ষিতে উভয় ছাড়া একভাবে কাজ (, যেহেতু হয় কোন ঘোড়ার গাড়ি বা বেলন ;-)

অনুশীলনে, একটি পাঠ্য ফাইলে লেখার আধুনিক প্রসঙ্গে আপনার সর্বদা ব্যবহার করা উচিত \n(অন্তর্নিহিত রানটাইমটি অনুবাদ করবে যে আপনি যদি কোনও অদ্ভুত ওএস, উদাহরণস্বরূপ, উইন্ডোজ ;-) তে থাকেন তবে। ব্যবহারের একমাত্র কারণ \rহ'ল আপনি যদি একটি অক্ষর টার্মিনালে লিখছেন (বা সম্ভবত এটি "কনসোল উইন্ডো" যা অনুকরণ করছে) এবং আপনি লিখেছেন পরবর্তী লাইনটি আপনি লিখেছিলেন সর্বশেষটি মুছে ফেলার জন্য (কখনও কখনও বোকা জন্য ব্যবহৃত হয়) এসকি অ্যানিমেশন "উদাহরণস্বরূপ অগ্রগতি বারের প্রভাব) - এটি জিইউআই-র একটি জগতে বেশ অচল হয়ে উঠছে, যদিও ;-)।


12
এই উত্তরে ইতিহাসে যুক্ত করার জন্য: প্রতি সেকেন্ডে 10 টি অক্ষর থেকে রেখার গতি বাড়ার সাথে সাথে গাড়িটি ফিরে আসতে 2 টির বেশি অক্ষরের প্রয়োজন হয় এবং অতিরিক্ত অনুমতি দেওয়ার \0পরে অতিরিক্ত নিরীহ অক্ষর (সাধারণত এনএলএইচ ) যুক্ত করা হয়েছিল \nসময়। এটি ওএস দ্বারা স্বচ্ছভাবে পরিচালনা করা হয়েছিল যাতে আপনি উত্তরাধিকারের কোডটিতে এর কোনও চিহ্ন খুঁজে পাবেন না।
মার্ক রান্সম

11
উইন্ডোজ কীভাবে একটি 'অদ্ভুত' অপারেটিং সিস্টেম?
মেলমিন্ডলিন

31
@ মেলমাইন্ডলিন - আপনি জিজ্ঞাসা করেছেন "উইন্ডোজ কীভাবে 'অদ্ভুত' অপারেটিং সিস্টেম হয়?" উত্তর: আমি সহজেই গণনা করতে পারি তার চেয়েও বেশি উপায়ে (মোজা পরা অবস্থায়, তাই পায়ের আঙ্গুলগুলি অনুমোদিত নয় :-)। অন্য সমস্ত বেঁচে থাকা ওএস হ'ল ইউনিক্স-ভিত্তিক ... উইন্ডোজটি একমাত্র আউট, বিভিন্নভাবে ওয়ে আউট। এই সুনির্দিষ্ট Q এর প্রসঙ্গে - কেবলমাত্র একমাত্র TWO বাইটস (\ n \ r )টিকে ক্যানোনিকাল লাইন-এন্ড হিসাবে চিহ্নিত করা হয়েছে ... থ্রেডের অন্য জায়গায় ব্যাখ্যা করা প্রাচীন-historicalতিহাসিক ব্যতীত কোনও বুদ্ধিমান কারণ ছাড়া ... প্রতিটি অন্যান্য ওএস একটি একক চর a5 লাইন-এন্ড রয়েছে (এর মধ্যে 99% + `\ n ')।
অ্যালেক্স মার্টেলি

1
@ কিছুই নয়: উদাহরণস্বরূপ, সরঞ্জাম. ietf.org/html/rfc5322 , যা আরএফসি 2822 প্রতিস্থাপন করেছে, ইমেল বার্তার বিন্যাস সংজ্ঞায়িত করে।
কিথ থমসন

3
যারা তাদের জীবনের কোনও সময়ে কোনও ধরণের পার্সার লিখবেন তাদের সবার জন্য একটি ছোট্ট পরামর্শ - লাইনের সমাপ্তি সঠিকভাবে পরিচালনা করতে কখনও ভুলবেন না। আমি এর সাথে কিছু সুন্দর বাজে অভিজ্ঞতা অর্জন করেছি কারণ আমি \r(আমি লিনাক্স ব্যবহার করছি) সম্পর্কে ভুলে গেছি । একবার আমি যা বৈধ ফাইল বলে মনে হয়েছিল তা পার্স করা শুরু করলে আমার পার্সার ব্যর্থ হয়েছিল কারণ আমি যে ফাইলটি পার্সিং করছি তা উইন্ডোজটিতে তৈরি করা হয়েছে। : ডি সব প্রধান সমস্যা হল যে তন্ন তন্ন \nবা \rঅর্থে দৃশ্যমান যে উদাহরণস্বরূপ a, ., (ইত্যাদি অক্ষর।
rbaleksandar

122

Ically \nতিহাসিকভাবে গাড়িটি নীচে নামানোর জন্য একটি ব্যবহার করা হত, যখন \rপাতার বাম দিকে গাড়িটি সরিয়ে নিতে ব্যবহৃত হত।


8
সম্ভবত কম্পিউটারের প্রশ্নের কোনও ভয়ঙ্কর ব্যবহারিক উত্তর না, তবে historicalতিহাসিক শিখরপথ যাইহোক আমার কাছ থেকে উত্সাহ পেয়েছে।
জন ওয়াই

1
আপনি যখন নিজের শারীরিক টাইপিং মেশিনের টাইপিং অংশটি বাম ওরফে চাপছেন তখন এর অনুরূপ হওয়ার কথাটি কল্পনা করুন। ফিরে যান।
জো স্মু

2
। n গাড়িটি নীচে নামায় না, এটি কাগজে ইউপি সরানোর জন্য বেলন ঘুরিয়ে দেয়।
রডি

5
সমস্ত আন্দোলন আপেক্ষিক। কাগজটি আমার বিশ্ব, এবং এটির তুলনায় গাড়িটি নীচে চলেছে: পি
টিস্টার

2
FWIW, \ r আধুনিক সিস্টেমে এখনও "ক্যারিজ রিটার্ন" হতে পারে। printf("abcdefghijlm\rNOP\n");ওপেনসুতে জিসিসি -8 দিয়ে সংকলিত এই সি কোডটি বিবেচনা করুন এবং এই আউটপুটটিতে টার্মিনালের ফলাফলগুলি চালান NOPdefghijlm। স্ট্রিংয়ের \ r (ক্যারেজ রিটার্ন) ফলাফলটি কার্সারের ফলে লাইন (ক্যারিজ) এর শুরুতে এবং the r (অর্থাৎ "এনওপি") এর পরে থাকা অক্ষরগুলি পূর্বে সেখানে ছিল (যেমন "এবিসি") ওভাররাইট করে! আপনি ব্যাকস্পেস (\ বি) এর সাথে একই রকম "ক্যারেজ চলাচল" অর্জন করতে পারেন printf("abcdefghijlm\b\bNOP\n");যা উত্পাদন করেabcdefghijNOP
GMc

36

দুটি ভিন্ন চরিত্র।

\n ইউনিক্স পাঠ্য ফাইলগুলিতে একটি শেষ-লাইন টার্মিনেটর হিসাবে ব্যবহৃত হয়

\r ম্যাক পাঠ্য ফাইলগুলিতে একটি শেষ-লাইন টার্মিনেটর হিসাবে ব্যবহৃত হয়

\r\n (যেমন উভয়) উইন্ডোজ এবং ডস পাঠ্য ফাইলগুলিতে লাইনগুলি শেষ করতে ব্যবহৃত হয়।


2
লক্ষ্য করুন যে এমন কম্পিউটারগুলি ছিল / যখন আপনি এন্টারন এবং আরআইএসসি ওএসের মতো ENTER কী টিপানোর সময় লাইন চিহ্নিতকারী হিসাবে \ n \ r ব্যবহার করত।
Anders

9
স্পষ্ট করার জন্য: \rএকটি ম্যাকের উপর দীর্ঘকাল ধরে লাইন-শেষ হচ্ছে না। 2001 সালে ম্যাক ওএস এক্স প্রকাশের সাথে (যা ইউনিক্স ভিত্তিক), \nএখন ব্যবহৃত হয়।
jbbuckley

3
তবে এখনও কিছু অ্যাপ্লিকেশন ব্যবহার করছে \r- যেমন এমএস অফিস ২০১১ এক্সেল: একটি সিএসভি সংরক্ষণ করা (সমস্ত ডিফল্ট সেটিংস সহ) - \rলাইন -এন্ডিং সহ একটি আইএসও -8859-1 এনকোডযুক্ত ফাইল সংরক্ষণ করবে ।
কোডব্রেয়ার

24

যেহেতু অন্য কেউ এটি নির্দিষ্টভাবে উল্লেখ করেনি (তারা জানতে / মনে রাখতে খুব কম বয়সী?) - আমি \r\nটাইপরাইটার এবং অনুরূপ ডিভাইসগুলির জন্য উত্পন্ন উত্স ব্যবহারটি সন্দেহ করি ।

যখন আপনি একটি বহু-লাইন-সক্ষম টাইপরাইটার ব্যবহার করার সময় একটি নতুন লাইন চেয়েছিলেন, তখন এটি করার জন্য দুটি শারীরিক ক্রিয়া ছিল: পৃষ্ঠার প্রারম্ভের (বামে, মার্কিন) পিছনে গাড়িটি স্লাইড করুন এবং কাগজটিকে একটি খাঁজ পর্যন্ত খাওয়ান ।

লাইনের প্রিন্টারের দিনগুলিতে সাহসী পাঠ্য করার একমাত্র উপায়, উদাহরণস্বরূপ, একটি নতুন লাইন ছাড়াই একটি ক্যারেজ রিটার্ন করা এবং পুরানোগুলির উপরে একই অক্ষরগুলি মুদ্রণ করা ছিল, এইভাবে আরও কালি যুক্ত করা হয়েছিল, ফলে এটি গা appear় দেখা দেয় (গাed়) । যান্ত্রিক "নিউলাইন" ফাংশন কোনও টাইপরাইটারে ব্যর্থ হলে, এটি বিরক্তিকর ফলাফল: আপনি মনোযোগ না দিলে আপনি পূর্ববর্তী পাঠ্যটিতে টাইপ করতে পারেন।


3
নতুন লাইনের ASCII মান \ r \ n। (যখন বেল টেলিফোন স্ট্যান্ডার্ড কমিটির নিয়ন্ত্রণ পেয়েছিল তখন একটি সংক্ষিপ্ত বিরতি ছাড়াও)। টেলিফোনের একচেটিয়া প্রতিষ্ঠানের বিনিময়ে বেল টেলিফোন মেসেজিং ব্যবসায় (টেলিগ্রাম, টেলি-টাইপ) ছেড়ে দিয়েছিল এবং স্ট্যান্ডার্ডটির বিদ্যমান ব্যবহার সম্পর্কে যত্ন নেয়নি। এইচটিটিপি, এইচটিএমএল, পিসিডিওএস এবং এমএসডোসগুলি ASCII স্ট্যান্ডার্ডটি ব্যবহার করেছে। বেল টেলিফোন ইউনিক্সের জন্য নন-স্ট্যান্ডার্ড যেতে বেছে নিয়েছে কারণ তাদের সাথে সামঞ্জস্য করার কোনও বিদ্যমান ব্যবসা ছিল না।
ডেভিড

12

বিভিন্ন অপারেটিং সিস্টেমের জন্য দুটি আলাদা অক্ষর। এছাড়াও এটি প্রেরণ করা ডেটাতে একটি ভূমিকা পালন করে TCP/IPযার ব্যবহার প্রয়োজন\r\n

\n ইউনিক্স

\r ম্যাক

\r\n উইন্ডোজ এবং ডস


10
আমি মনে করি আপনি আবেদনকারী প্রোটোকলগুলির সাথে বিভ্রান্ত করছেন, টিসিপি / আইপি \ n এবং \ r সম্পর্কে কোনও ধারণা রাখে না।
জিন-লুপ 13

4
টিসিপি / আইপি \ r \ n ব্যবহারের প্রয়োজন হয় না। টেলনেটের উপর ভিত্তি করে বিভিন্ন প্রোটোকলগুলির এটি দরকার, এসএমটিপি, পিওপি 3, এফটিপি, এইচটিটিপি, ... সহ
লার্নের মারকুইস

9

শেষ করতে,

শেল (বাশ) স্ক্রিপ্টে, আপনি \rকার্সারটি পাঠাতে, লাইনে সামনের দিকে এবং অবশ্যই \nএকটি নতুন লাইনে কার্সারটি ব্যবহার করতে পারেন ।

উদাহরণস্বরূপ, চেষ্টা করুন:

echo -en "AA--AA" ; echo -en "BB" ; echo -en "\rBB"
  • প্রথম "প্রতিধ্বনি" প্রদর্শন AA--AA
  • দ্বিতীয় : AA--AABB
  • গত : BB--AABB

তবে -enপরামিতি হিসাবে ব্যবহার করতে ভুলবেন না ।


5

উইন্ডোগুলিতে, \ n পরবর্তী লাইনের শুরুতে চলে যায়। \ R পরবর্তী লাইনে না সরে বর্তমান লাইনের শুরুতে চলে যায়। আমি আমার নিজস্ব কনসোল অ্যাপ্লিকেশনগুলিতে have r ব্যবহার করেছি যেখানে আমি কিছু কোড পরীক্ষা করছি এবং আমি আমার স্ক্রিনটি টেক্সট স্ক্রোল করে দেখতে চাই না, তাই কিছু পাঠ্য প্রিন্ট করার পরে use n ব্যবহার করার চেয়ে, একটি ফ্রেমের হার ( এফপিএস), আমি মুদ্রণ করব ("% - 10 ডি \ আর", এফপিএস); এটি কার্সারটি পরের লাইনে না গিয়ে লাইনের শুরুতে ফিরে আসবে এবং স্ক্রিনে স্ক্রোল না হওয়া স্ক্রিনে আমাকে অন্যান্য তথ্য রাখার অনুমতি দেয় যখন ফ্রেমরেট একই লাইনে নিয়মিত আপডেট করে (% -10 তোলে) নির্দিষ্ট আউটপুট কমপক্ষে 10 টি অক্ষরযুক্ত, বাম ন্যায়সঙ্গত তাই এটি ফাঁকের ফাঁকে ফাঁকে শেষ হয়, সেই লাইনের জন্য কোনও পুরানো মানকে ওভাররাইট করে)। এটি এই জাতীয় জিনিসগুলির জন্য বেশ সহজ,

একটু ইতিহাস

/ আর এর অর্থ দাঁড়ায় "রিটার্ন" বা "ক্যারেজ রিটার্ন" যা টাইপ রাইটারের কাছে তার ইতিহাস owণী। কোনও ক্যারেজ রিটার্ন আপনার গাড়িটিকে সমস্ত দিক থেকে ডানদিকে নিয়ে যায় যাতে আপনি লাইনের শুরুতে টাইপ করে যাচ্ছিলেন।

/ এন এর অর্থ দাঁড়ায় "নতুন লাইন", আবার টাইপরাইটার দিন থেকে আপনি একটি নতুন লাইনে চলে এসেছেন। এটি প্রারম্ভিকভাবে শুরু করার পরে নয়, এই কারণেই কিছু ওএস উভয়ই / আর রিটার্ন উভয়ের প্রয়োজনীয়তা অনুসরণ করেছিল, তারপরে একটি টাইপ রাইটার এটির আদেশ ছিল। এটি পুরানো ৮ বিট কম্পিউটারগুলিও ব্যাখ্যা করে যা ব্যবহৃত হয়েছিল "প্রবেশের পরিবর্তে" "রিটার্ন" রাখতে "ক্যারিজ রিটার্ন" থেকে, যা পরিচিত ছিল।


1

শুধু বিভ্রান্তি যুক্ত করতে, আমি একটি ব্রাউজারের একটি HTML পৃষ্ঠায় একটি টেক্সটরিয়া উপাদান ব্যবহার করে একটি সাধারণ পাঠ্য সম্পাদক এ কাজ করছি। সিআর / এলএফের সাথে সামঞ্জস্যের দুর্দশার প্রত্যাশায়, আমি প্ল্যাটফর্মটি যাচাই করার জন্য কোডটি লিখেছিলাম এবং প্ল্যাটফর্মের জন্য যে কোনও নিউলাইন কনভেনশন প্রযোজ্য তা ব্যবহার করেছিলাম।

যাইহোক, আমি একটি ছোট জাভাস্ক্রিপ্ট ফাংশনের মাধ্যমে টেক্সটআরিয়ায় থাকা প্রকৃত অক্ষরগুলির চেক করার সময় আকর্ষণীয় কিছু আবিষ্কার করেছি যা অক্ষরের সাথে সম্পর্কিত হেক্স ডেটা উত্পন্ন করে।

পরীক্ষার জন্য, আমি নিম্নলিখিত পাঠ্যটিতে টাইপ করেছি:

হ্যালো, ওয়ার্ল্ড [প্রবেশ করুন]

বিদায়, নিষ্ঠুর বিশ্ব [প্রবেশ]

আমি যখন পাঠ্যের ডেটা পরীক্ষা করেছি, তখন আমি যে বাইট ক্রমটি পেয়েছি তা হ'ল:

48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 0a 47 6f 6f 64 62 79 65 2c 20 43 72 75 65 6c 20 57 6f 72 6c 64 0 ক

এখন, বেশিরভাগ লোকেরা এটি দেখে এবং 0 এ কিন্তু 0 ডি বাইট না দেখে তারা মনে করবে যে এই আউটপুটটি ইউনিক্স / লিনাক্স প্ল্যাটফর্মে প্রাপ্ত হয়েছিল। তবে, ঘষামাজা: উইন্ডোজ 7 64-বিটে গুগল ক্রোমে আমি এই ক্রমটি পেয়েছি in

সুতরাং, আপনি যদি কোনও টেক্সটরিয়া উপাদান ব্যবহার করছেন এবং পাঠ্যটি পরীক্ষা করছেন, তবে আপনার টেক্সটরিয়া থেকে প্রকৃত চরিত্রের বাইটগুলি কী ফিরে এসেছে তা নিশ্চিত করার জন্য উপরের মতো আউটপুটটি পরীক্ষা করে দেখুন। এটি অন্য প্ল্যাটফর্ম বা অন্যান্য ব্রাউজারগুলিতে আলাদা হয় কিনা তা আমি এখনও দেখতে পেলাম, তবে আপনি জাভাস্ক্রিপ্টের মাধ্যমে পাঠ্য প্রক্রিয়াকরণ সম্পাদন করছেন কিনা তা মনে রাখা উচিত এবং আপনাকে সেই পাঠ্য প্রক্রিয়াকরণ প্ল্যাটফর্মটি স্বাধীন করতে হবে।

উপরোক্ত পোস্টগুলিতে আচ্ছাদিত কনভেনশনগুলি কনসোল আউটপুটটিতে প্রযোজ্য , তবে এইচটিএমএল উপাদানগুলি ইউএনআইএক্স / লিনাক্স কনভেনশন মেনে চলে। যদি না কেউ অন্য কোনও প্ল্যাটফর্ম / ব্রাউজারে অন্যথায় আবিষ্কার করে।


0
#include <stdio.h>

void main()
{
  int countch=0;
  int countwd=1;

  printf("Enter your sentence in lowercase: ");
  char ch='a';
  while(ch!='\r')
  {
    ch=getche();
    if(ch==' ')
      countwd++;
    else
      countch++;
  }

  printf("\n Words = ",countwd);

  printf("Characters = ",countch-1);

  getch();

}

এই উদাহরণটি ধরুন \ r এর জায়গায় putting n রাখার চেষ্টা করুন এটি কার্যকর হবে না এবং অনুমান করার চেষ্টা করবে কেন?


1
এটি কেবলমাত্র তখনই কার্যকর হয় যখন আপনি এমএস ডস, ডেস্কস টপস -১০, সিপি / এম, আরটি -11 প্রভৃতি যেমন ENTER কী টিপুন your r \ n প্রেরণ করে যদি মাল্টিক, ইউনিক্স এবং ইউনিক্সের মতো (যেমন: লিনাক্স, মিনিক্স ইত্যাদি) বিওএস, রিসকোস ইত্যাদি প্রবেশের কীটি কেবল আপনাকে একটি character n অক্ষর প্রেরণ করে।
Anders

1
Ahh হ্যাঁ সুদিন যখন কীবোর্ড উভয় আছে ব্যবহৃত Returnএবং Enter। এমনকি আমার আধুনিক ওয়্যারলেস কীবোর্ডটি এখনও পুরানো Returnকীতে ডাউন এবং পিছনের তীরটি দেখায় (যা এখন "এন্টার" শিরোনামে সংখ্যার কীপ্যাডের Enterকীটির সাথে সামঞ্জস্যপূর্ণ , যা তীরটি দেখায় না)
অঙ্কিত অযৌক্তিকভাবে

0

\ N (নিউলাইন) এবং \ আর (ক্যারেজ রিটার্ন) এর মধ্যে পার্থক্য কী?

বিশেষ করে, সেখানে মধ্যে কোনো ব্যবহারিক পার্থক্য আছে \nএবং \r? এমন জায়গাগুলি রয়েছে যেখানে অন্যের পরিবর্তে একটি ব্যবহার করা উচিত?


তাদের মধ্যে স্বতন্ত্র পার্থক্য কোথায় তা চিত্রিত করার \nজন্য আমি নতুন লাইনের \rজন্য এবং গাড়ীর ফেরার জন্য প্রাসঙ্গিক পালনের ক্রমগুলির সাথে একটি ছোট্ট পরীক্ষা করতে চাই ।

আমি জানি, এই প্রশ্নটি ভাষা-স্বাধীন হিসাবে জিজ্ঞাসা করা হয়েছিল। যাইহোক, আমাদের কমপক্ষে একটি ভাষা প্রয়োজন পরীক্ষাটি সম্পন্ন করার জন্য। আমার ক্ষেত্রে, আমি সি ++ বেছে নিয়েছি, তবে পরীক্ষাটি সাধারণত কোনও প্রোগ্রামিং ভাষায় প্রযোজ্য হবে।

প্রোগ্রামটি কেবলমাত্র একটি বাক্য মুদ্রণের জন্য পুনরাবৃত্তি করে যা একটি লুপ পুনরাবৃত্তি দ্বারা সম্পন্ন হয় le


নিউলাইন প্রোগ্রাম:

#include <iostream>

int main(void)
{
    for(int i = 0; i < 7; i++)
    {
       std::cout << i + 1  <<".Walkthrough of the for-loop \n";   // Notice `\n` at the end.
    }
    return 0;
}

আউটপুট:

1.Walkthrough of the for-loop
2.Walkthrough of the for-loop
3.Walkthrough of the for-loop
4.Walkthrough of the for-loop
5.Walkthrough of the for-loop
6.Walkthrough of the for-loop
7.Walkthrough of the for-loop

লক্ষ্য করুন, এই ফলাফলটি কোনও সিস্টেমে সরবরাহ করা হবে না , আপনি এই সি ++ কোডটি কার্যকর করছেন। তবে এটি সবচেয়ে আধুনিক সিস্টেমে কাজ করবে। আরো বিস্তারিত জানার জন্য নিচে পড়ুন।


এখন, একই প্রোগ্রাম, কিন্তু পার্থক্য সঙ্গে, যে \n\r এটি মুদ্রণ ক্রম শেষে প্রতিস্থাপন করা হয়।

ক্যারেজ রিটার্ন প্রোগ্রাম:

#include <iostream>

int main(void)
{
    for(int i = 0; i < 7; i++)
    {
       std::cout << i + 1  <<".Walkthrough of the for-loop \r";   // Notice `\r` at the end.
    }
    return 0;
}

আউটপুট:

7.Walkthrough of the for-loop 

লক্ষ্য করা গেল কোথায় পার্থক্য? পার্থক্যটি কেবল তেমনি, আপনি যখন \rপ্রতিটি মুদ্রণ ক্রমের শেষে ক্যারেজ রিটার্ন সিকোয়েন্সটি ব্যবহার করেন, তখন এই ক্রমের পরবর্তী পুনরাবৃত্তি নিম্নলিখিত পাঠ্য লাইনে প্রবেশ করে না - প্রতিটি মুদ্রণ ক্রমের শেষে, কার্সারটি হয়নি পরবর্তী লাইনের * প্রারম্ভে লাফিয়ে উঠল।

পরিবর্তে, কার্সারটি লাইনের শুরুতে ফিরে গেল, যার উপরে সে ব্যবহারের আগে তার শেষে ছিল \r অক্ষরের । - ফলাফলটি মুদ্রণ ক্রমের প্রতিটি নিম্নলিখিত পুনরাবৃত্তি পূর্ববর্তীটি প্রতিস্থাপন করছে।

* দ্রষ্টব্য: একটি \nঅগত্যা নিম্নলিখিত পাঠ্য লাইনের শুরুতে ঝাঁপ দেয় না। কারও কারও কাছে, সাধারণভাবে প্রবীণদের মধ্যে, অপারেশন সিস্টেমগুলি \nনতুন লাইনের চরিত্রের ফলাফল হতে পারে, এটি কেবল প্রথম দিকে নয়, নিম্নলিখিত পংক্তির যে কোনও জায়গায় যেতে পারে। এই কারণেই, তারা \r \nপরবর্তী পাঠ্য লাইনের শুরুতে ব্যবহার করতে পারা যায় ।


এই পরীক্ষাটি আমাদের মুদ্রণ ক্রমের পুনরাবৃত্তির আউটপুট প্রসঙ্গে নিউলাইন এবং ক্যারেজ রিটার্নের মধ্যে পার্থক্য দেখায় ।

সম্পর্কে আলোচনা করার সময় কোনও প্রোগ্রামের ইনপুট , কিছু টার্মিনাল / কনসোল আরও ভাল বহনযোগ্যতা, সামঞ্জস্যতা এবং নিখরচায়তার জন্য অন্তর্নিহিতভাবে একটি ক্যারেজ রিটার্নটিকে একটি নতুন লাইনে রূপান্তর করতে পারে।

তবে আপনার যদি অন্যের জন্য একটি বাছাই করার পছন্দ থাকে বা কেবল একটি নির্দিষ্টটিকে স্পষ্টরূপে ব্যবহার করতে চান বা আপনার প্রয়োজন হয় তবে আপনার সর্বদা এটির সাথে কাজ করা উচিত, এটি তার উদ্দেশ্য অনুসারে ফিট করে এবং এর মধ্যে কঠোরভাবে পার্থক্য করতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.