logo

الدالة Cin.ignore() في لغة C++

في لغة C++، سين.تجاهل () الوظيفة ضرورية لحلها المشاكل المتعلقة بالإدخال ، وخاصة عند استخدام يتناول الطعام و وظائف خط الحصول معاً. من خلال مسح المخزن المؤقت للإدخال وإزالة الأحرف غير الضرورية، قد يضمن المطورون أن عمليات الإدخال تتصرف كما هو متوقع وبدقة. في هذه المقالة سوف نقوم بدراسة دالة cin.ignore() بناء الجملة والاستخدام والأمثلة ، و المخرجات المتوقعة .

ال تدفق الطبقة وظيفة cin.ignore() يمكن استخدامه لتجاهل النص حتى عدد معين من الأحرف أو حتى يتم العثور على محدد محدد. بناء الجملة الخاص به هو كما يلي:

مل إلى أوقية

cin.ignore(n, delimiter);

معلمات بناء جملة الدالة Cin.ignore():

ن (اختياري): إنه يشير إلى عدد الأحرف التي يجب أن تكون تم تجاهله .

المحدد (اختياري): ويحدد أ حرف محدد ، وبعد ذلك سيتم تجاهل الإدخال. ان لم محدد ، فإنه افتراضيا 1 . إذا لم يكن هناك شيء محدد ، ثم حرف الخط الإلكتروني ('n') يستخدم من قبل تقصير .

العشاء مقابل وقت العشاء

استخدام وتشغيل وظيفة Cin.ignore():

الغرض الرئيسي من وظيفة cin.ignore() هو إزالة شخصيات غير مرغوب فيها من المخزن المؤقت للإدخال . يمكن الآن قراءة الإدخال الجديد لأنه تم مسح المخزن المؤقت للإدخال. ويمكن استخدامه في مجموعة متنوعة من الظروف، بما في ذلك بعد قراءة المدخلات الرقمية مع يتناول الطعام ، قبل سلاسل القراءة مع الحصول على خط ، وعند الجمع بين إجراءات الإدخال المنفصلة.

حتى يتم تحقيق أحد الشروط التالية التقى، يقرأ cin.ignore() الأحرف من المخزن المؤقت للإدخال ويتجاهلها:

  1. لو أحرف 'ن'. تم تحديدها، وتم تجاهلها.
  2. حتى يتم العثور على المحدد (إذا كان محددًا)، فإنه يتجاهل الأحرف.
  3. عندما يفعل ذلك، المخزن المؤقت للإدخال ممتلئ.

ترك حرف واحد

دعونا نفكر في سيناريو مباشر حيث نحتاج إلى قراءة حرفين من المستخدم. ولكننا لا نحتاج إلى الحرف الأول ; نحن بحاجة فقط إلى ثانية . وكما هو موضح أدناه، يمكننا تحقيق ذلك باستخدام سين.تجاهل () .

 #include int main() { char secondCharacter; std::cout&lt;&gt;std::noskipws&gt;&gt;secondCharacter; std::cin.ignore(); std::cout&lt;&lt; &apos;The second character is: &apos; &lt;<secondcharacter<<std::endl; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Enter two characters: AB The second character is: B </pre> <p> <strong>Explanation:</strong> </p> <p>In the above example, we use <strong> <em>std::noskipws</em> </strong> to <strong> <em>stop characters</em> </strong> from reading with whitespace skipped. In order to remove the undesirable character after reading the first character, we call <strong> <em>cin.ignore()</em> </strong> without any arguments. As a result, the <strong> <em>&apos;secondCharacter&apos;</em> </strong> variable only contains the <strong> <em>second character</em> </strong> .</p> <h3>Until a Delimiter</h3> <p>Let&apos;s say we simply want to <strong> <em>read</em> </strong> the first word from a user-provided line of text. We can accomplish this with the help of <strong> <em>cin.ignore()</em> </strong> and the delimiter specified as follows:</p> <pre> #include #include int main() { std::string firstWord; std::cout&lt;&gt;std::ws, firstWord, &apos; &apos;); std::cout&lt;&lt; &apos;The first word is: &apos; &lt;<firstword<<std::endl; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Enter a sentence: Hello, World! How are you? The first word is: Hello, </pre> <p> <strong>Explanation:</strong> </p> <p>In the above example, leading <strong> <em>whitespace</em> </strong> is skipped using <strong> <em>std::ws</em> </strong> before the input is read using <strong> <em>getline()</em> </strong> . When the <strong> <em>delimiter</em> </strong> is set to a <strong> <em>space (&apos; &apos;), cin.ignore()</em> </strong> will only extract the first word and disregard all other characters up to that point.</p> <h2>Conclusion:</h2> <p>For addressing input-related concerns and providing exact control over the input buffer, the C++ <strong> <em>cin.ignore() function</em> </strong> is a useful tool. Developers can efficiently handle undesired characters and accomplish the required behavior in their programs by understanding its syntax, usage, and functioning principle.</p> <p>Developers can ensure precise and anticipated input procedures by using the <strong> <em>cin.ignore() function</em> </strong> to skip until a designated delimiter or disregard a set of characters. When working with mixed input types, numeric input that is followed by string input, or when reading strings using <strong> <em>getline()</em> </strong> , this function is quite helpful.</p> <p>Developers can avoid unexpected behavior brought on by lingering characters in the input buffer by properly using <strong> <em>cin.ignore()</em> </strong> . By clearing the buffer and allowing for the reading of new input, this function aids in maintaining the integrity of following input operations.</p> <p>For proper handling of various input conditions, it is imperative to comprehend the parameters and behavior of <strong> <em>cin.ignore()</em> </strong> . With the help of <strong> <em>cin.ignore()</em> </strong> , programmers can create <strong> <em>powerful</em> </strong> and <strong> <em>dependable</em> </strong> input handling systems for their <strong> <em>C++ programs</em> </strong> , whether they want to ignore a single character or skip till a delimiter.</p> <p>In conclusion, the <strong> <em>cin.ignore() function</em> </strong> is a crucial part of C++ input processing since it enables programmers to remove unnecessary characters and guarantee accurate and seamless input operations. Understanding how to use it effectively can considerably improve the stability and usability of C++ applications.</p> <hr></firstword<<std::endl;></pre></secondcharacter<<std::endl;>

توضيح:

في المثال أعلاه نستخدم الأمراض المنقولة جنسيا::noskipws ل توقف الشخصيات من القراءة مع تخطي المسافة البيضاء. ولإزالة الحرف غير المرغوب فيه بعد قراءة الحرف الأول نتصل سين.تجاهل () دون أي حجج. ونتيجة لذلك، 'الحرف الثاني' المتغير يحتوي فقط على الحرف الثاني .

inurl:.git/head

حتى الفاصل

لنفترض أننا ببساطة نريد ذلك يقرأ الكلمة الأولى من سطر النص المقدم من المستخدم. يمكننا تحقيق ذلك بمساعدة سين.تجاهل () والمحدد المحدد على النحو التالي:

 #include #include int main() { std::string firstWord; std::cout&lt;&gt;std::ws, firstWord, &apos; &apos;); std::cout&lt;&lt; &apos;The first word is: &apos; &lt;<firstword<<std::endl; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Enter a sentence: Hello, World! How are you? The first word is: Hello, </pre> <p> <strong>Explanation:</strong> </p> <p>In the above example, leading <strong> <em>whitespace</em> </strong> is skipped using <strong> <em>std::ws</em> </strong> before the input is read using <strong> <em>getline()</em> </strong> . When the <strong> <em>delimiter</em> </strong> is set to a <strong> <em>space (&apos; &apos;), cin.ignore()</em> </strong> will only extract the first word and disregard all other characters up to that point.</p> <h2>Conclusion:</h2> <p>For addressing input-related concerns and providing exact control over the input buffer, the C++ <strong> <em>cin.ignore() function</em> </strong> is a useful tool. Developers can efficiently handle undesired characters and accomplish the required behavior in their programs by understanding its syntax, usage, and functioning principle.</p> <p>Developers can ensure precise and anticipated input procedures by using the <strong> <em>cin.ignore() function</em> </strong> to skip until a designated delimiter or disregard a set of characters. When working with mixed input types, numeric input that is followed by string input, or when reading strings using <strong> <em>getline()</em> </strong> , this function is quite helpful.</p> <p>Developers can avoid unexpected behavior brought on by lingering characters in the input buffer by properly using <strong> <em>cin.ignore()</em> </strong> . By clearing the buffer and allowing for the reading of new input, this function aids in maintaining the integrity of following input operations.</p> <p>For proper handling of various input conditions, it is imperative to comprehend the parameters and behavior of <strong> <em>cin.ignore()</em> </strong> . With the help of <strong> <em>cin.ignore()</em> </strong> , programmers can create <strong> <em>powerful</em> </strong> and <strong> <em>dependable</em> </strong> input handling systems for their <strong> <em>C++ programs</em> </strong> , whether they want to ignore a single character or skip till a delimiter.</p> <p>In conclusion, the <strong> <em>cin.ignore() function</em> </strong> is a crucial part of C++ input processing since it enables programmers to remove unnecessary characters and guarantee accurate and seamless input operations. Understanding how to use it effectively can considerably improve the stability and usability of C++ applications.</p> <hr></firstword<<std::endl;>

توضيح:

في المثال أعلاه، الرائدة مسافة بيضاء يتم تخطي استخدام الأمراض المنقولة جنسيا::وس قبل قراءة الإدخال باستخدام الحصول على خط() . عندما محدد تم ضبطه على أ مسافة ('')، cin.ignore() سيتم فقط استخراج الكلمة الأولى وتجاهل كافة الأحرف الأخرى حتى تلك النقطة.

خاتمة:

لمعالجة المخاوف المتعلقة بالإدخال وتوفير التحكم الدقيق في المخزن المؤقت للإدخال، يستخدم C++ وظيفة cin.ignore() هي أداة مفيدة. يمكن للمطورين التعامل بكفاءة مع الأحرف غير المرغوب فيها وإنجاز السلوك المطلوب في برامجهم من خلال فهم تركيبها واستخدامها ومبدأ عملها.

يمكن للمطورين ضمان إجراءات إدخال دقيقة ومتوقعة باستخدام وظيفة cin.ignore() للتخطي حتى محدد محدد أو تجاهل مجموعة من الأحرف. عند العمل مع أنواع المدخلات المختلطة، فإن الإدخال الرقمي الذي يتبعه إدخال سلسلة، أو عند قراءة السلاسل باستخدام الحصول على خط() ، هذه الوظيفة مفيدة جدًا.

أتش تي أم أل مربع القائمة

يمكن للمطورين تجنب السلوك غير المتوقع الناتج عن بقاء الأحرف في المخزن المؤقت للإدخال عن طريق الاستخدام الصحيح سين.تجاهل () . من خلال مسح المخزن المؤقت والسماح بقراءة المدخلات الجديدة، تساعد هذه الوظيفة في الحفاظ على سلامة عمليات الإدخال التالية.

للتعامل السليم مع ظروف الإدخال المختلفة، من الضروري فهم المعلمات وسلوكها سين.تجاهل () . بمساعدة سين.تجاهل () ، يمكن للمبرمجين إنشاء قوي و جدير بالثقة أنظمة معالجة المدخلات الخاصة بهم برامج سي++ ، سواء كانوا يريدون تجاهل حرف واحد أو التخطي حتى المحدد.

في الختام، وظيفة cin.ignore() يعد جزءًا مهمًا من معالجة إدخال C++ لأنه يمكّن المبرمجين من إزالة الأحرف غير الضرورية وضمان عمليات إدخال دقيقة وسلسة. إن فهم كيفية استخدامها بفعالية يمكن أن يؤدي إلى تحسين استقرار تطبيقات C++ وسهولة استخدامها بشكل كبير.