logo

הפונקציה Cin.ignore() ב-C++

ב-C++, ה cin.ignore() פונקציה חיונית לפתרון בעיות הקשורות לקלט , במיוחד בעת שימוש ב אֲכִילָה ו פונקציות getline יַחַד. על ידי ניקוי מאגר הקלט והסרת תווים מיותרים, מפתחים עשויים להבטיח שתהליכי קלט יתנהגו כמצופה ומדויק. במאמר זה נבחן את פונקציית cin.ignore() של תחביר, שימוש, דוגמאות , ו התפוקות הצפויות .

ה זרם של הכיתה פונקציית cin.ignore() ניתן להשתמש כדי להתעלם מטקסט עד למספר נתון של תווים או עד שנמצא מפריד ספציפי. התחביר שלו הוא כדלקמן:

cin.ignore(n, מפריד);

פרמטרים של הפונקציה Cin.ignore() תחביר:

n (אופציונלי): זה מציין כמה תווים צריכים להיות התעלמו .

מפריד (אופציונלי): הוא מפרט את א תו מפריד , שלאחר מכן הקלט יתעלם. אם לא נָקוּב , זה כברירת מחדל 1 . אם שום דבר לא נָקוּב , לאחר מכן תו ewline ('n') משמש על ידי בְּרִירַת מֶחדָל .

הורד את autocad 2019 באנגלית Mediafire

שימוש ותפעול של הפונקציה Cin.ignore():

המטרה העיקרית של ה פונקציית cin.ignore() הוא להסיר דמויות לא רצויות מ ה מאגר קלט . כעת ניתן לקרוא קלט חדש מכיוון שמאגר הקלט נוקה. זה יכול לשמש במגוון נסיבות, כולל לאחר קריאת קלט מספרי עם אֲכִילָה , לפני מחרוזות קריאה עם getline , וכאשר משלבים נהלי קלט נפרדים.

עד שאחד מהתנאים הבאים הוא met, cin.ignore() קורא תווים ממאגר הקלט ומשליך אותם:

  1. אם 'n' תווים צוינו, התעלמו מהם.
  2. עד שנמצא המפריד (אם צוין), הוא התעלם מהתווים.
  3. כשזה קורה, ה מאגר קלט זה מלא.

השארת דמות אחת

בואו נחשוב על תרחיש פשוט שבו עלינו לקרוא שתי דמויות מהמשתמש. אבל אנחנו לא צריכים את הדמות הראשונה ; אנחנו צריכים רק את שְׁנִיָה . כפי שמודגם להלן, אנו עשויים להשיג זאת באמצעות cin.ignore() .

 #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;>

הֶסבֵּר:

בדוגמה לעיל, אנו משתמשים std::noskipws ל תווים לעצור מקריאה עם רווח לבן שדילג. על מנת להסיר את התו הבלתי רצוי לאחר קריאת התו הראשון, אנו מתקשרים cin.ignore() בלי שום ויכוחים. כתוצאה מכך, ה 'תו שני' המשתנה מכיל רק את הדמות השנייה .

עד תוחם

בוא נגיד שאנחנו פשוט רוצים לקרוא המילה הראשונה משורת טקסט שסופקה על ידי המשתמש. אנחנו יכולים להשיג זאת בעזרת cin.ignore() והמפריד שצוין כדלקמן:

 #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;>

הֶסבֵּר:

בדוגמה לעיל, מוביל רווח לבן מדלגים על השימוש std::ws לפני קריאת הקלט באמצעות getline() . כאשר תוחם מוגדר ל-a רווח (' '), cin.ignore() יחלץ רק את המילה הראשונה ויתעלם מכל שאר התווים עד לנקודה זו.

סיכום:

לטיפול בחששות הקשורים לקלט ומתן שליטה מדויקת על מאגר הקלט, ה-C++ פונקציית cin.ignore() הוא כלי שימושי. מפתחים יכולים לטפל ביעילות בתווים לא רצויים ולהשיג את ההתנהגות הנדרשת בתוכניות שלהם על ידי הבנת התחביר, השימוש ותפקודו.

מפתחים יכולים להבטיח נהלי קלט מדויקים וצפויים על ידי שימוש ב- פונקציית cin.ignore() כדי לדלג עד למפריד ייעודי או להתעלם מקבוצת תווים. בעבודה עם סוגי קלט מעורבים, קלט מספרי שאחריו קלט מחרוזת, או בעת קריאת מחרוזות באמצעות getline() , פונקציה זו מועילה למדי.

מיליון במספר

מפתחים יכולים להימנע מהתנהגות בלתי צפויה הנגרמת על ידי תווים מתמשכים במאגר הקלט על ידי שימוש נכון cin.ignore() . על ידי ניקוי המאגר ואפשרות קריאה של קלט חדש, פונקציה זו מסייעת בשמירה על שלמות פעולות הקלט הבאות.

לטיפול נכון בתנאי קלט שונים, הכרחי להבין את הפרמטרים וההתנהגות של cin.ignore() . בעזרת cin.ignore() , מתכנתים יכולים ליצור חָזָק ו מְהֵימָן מערכות טיפול בקלט עבורם תוכניות C++ , בין אם הם רוצים להתעלם מתו אחד או לדלג עד למפריד.

לסיכום, ה פונקציית cin.ignore() מהווה חלק מכריע בעיבוד קלט C++ שכן הוא מאפשר למתכנתים להסיר תווים מיותרים ולהבטיח פעולות קלט מדויקות וחלקות. הבנה כיצד להשתמש בו ביעילות יכולה לשפר במידה ניכרת את היציבות והשימושיות של יישומי C++.