However, if there is no input or if the failbit is set already, calling the input operator will not modify x. This also applies to bool.
Type bool
By default, Boolean values are printed and read numerically: false is converted into and from 0, and true is converted into and from 1. When reading, values different from 0 and 1 are considered to be an error. In this case, the ios::failbit is set, which might throw a corresponding exception (see Section 15.4.4, page 762).
It is also possible to set up the formatting options of the stream to use character strings for the I/O of Boolean values (see Section 15.7.2, page 781). This touches on the topic of internationalization: Unless a special locale object is used, the strings "true" and "false" are used. In other locale objects, different strings might be used. For example, a German locale object would use the strings "wahr" and "falsch". See Chapter 16, especially Section 16.2.2, page 865, for more details.
Types char and wchar_t
When a char or a wchar_t is being read with operator >>, leading whitespace is skipped by default. To read any character, including whitespace, you can either clear the flag skipws (see Section 15.7.7, page 789) or use the member function get() (see Section 15.5.1, page 768).
Type char*
A C-string (that is, a char*) is read wordwise. That is, when a C-string is being read, leading whitespace is skipped by default, and the string is read until another whitespace character or end-of-
file is encountered. Whether leading whitespace is skipped automatically can be controlled with the flag skipws (see Section 15.7.7, page 789).
Note that this behavior means that the string you read can become arbitrarily long. It is already a common error in C programs to assume that a string can be a maximum of 80 characters long. There is no such restriction. Thus, you must arrange for a premature termination of the input when the string is too long. To do this, you should always set the maximum length of the string to be read. This normally looks something like the following:
แต่ถ้ามีข้อมูลหรือไม่ถ้า failbit ตั้งแล้วเรียกผู้ประกอบการที่นำเข้าจะไม่ปรับเปลี่ยน x นอกจากนี้ยังนำไปใช้กับ bool ประเภทบูลโดยค่าเริ่มต้นค่าบูลีนจะมีการพิมพ์และอ่านตัวเลข: เท็จจะถูกแปลงเป็นและจาก 0, และเป็นความจริงจะถูกแปลงเป็นและจาก 1 เมื่ออ่านค่าที่แตกต่างกันจาก 0 และ 1 จะถือเป็นข้อผิดพลาด ในกรณีนี้ iOS :: failbit ตั้งซึ่งอาจโยนข้อยกเว้นที่เกี่ยวข้อง (ดูมาตรา 15.4.4, หน้า 762) นอกจากนี้ยังเป็นไปได้ที่จะตั้งค่าตัวเลือกการจัดรูปแบบของกระแสที่จะใช้สายอักขระสำหรับ I / O ของค่าบูลีน (ดูมาตรา 15.7.2, หน้า 781) นี้สัมผัสกับหัวข้อของสากล: หากวัตถุสถานที่เป็นพิเศษคือการใช้สตริง "ความจริง" และ "เท็จ" ถูกนำมาใช้ ในสถานที่เกิดเหตุวัตถุอื่น ๆ สตริงที่แตกต่างกันอาจจะใช้ ตัวอย่างเช่นวัตถุสถานที่เยอรมันจะใช้สตริง "wahr" และ "falsch" ดูบทที่ 16 โดยเฉพาะอย่างยิ่งมาตรา 16.2.2, หน้า 865 สำหรับรายละเอียดเพิ่มเติมประเภทถ่านและ wchar_t เมื่อถ่านหรือ wchar_t จะถูกอ่านกับผู้ประกอบการ >> ช่องว่างชั้นนำจะข้ามไปโดยปริยาย การอ่านตัวอักษรใด ๆ รวมทั้งช่องว่างที่คุณสามารถล้าง skipws ธง (ดูมาตรา 15.7.7, หน้า 789) หรือใช้ฟังก์ชั่นของสมาชิกที่ได้รับ () (ดูมาตรา 15.5.1, หน้า 768) พิมพ์ char * C- สตริง (นั่นคือ char *) จะอ่าน WordWise นั่นคือเมื่อ C-สตริงจะถูกอ่าน, ช่องว่างชั้นนำจะข้ามโดยค่าเริ่มต้นและสตริงที่อ่านจนอีกตัวละครที่ช่องว่างหรือจุดสิ้นสุดของแฟ้มที่พบ ไม่ว่าจะเป็นช่องว่างจะข้ามชั้นนำจะสามารถควบคุมได้ด้วย skipws ธง (ดูมาตรา 15.7.7, หน้า 789) โปรดสังเกตว่าพฤติกรรมเช่นนี้หมายความว่าสตริงที่คุณอ่านจะกลายเป็นเวลานานโดยพล มันมีอยู่แล้วข้อผิดพลาดที่พบบ่อยในโปรแกรม C ที่จะสรุปว่าสตริงสามารถสูงสุด 80 ตัวอักษรยาว ไม่มีข้อ จำกัด ดังกล่าว ดังนั้นคุณจะต้องจัดให้มีการยกเลิกก่อนเวลาอันควรของท่านเมื่อสตริงยาวเกินไป การทำเช่นนี้คุณควรกำหนดความยาวสูงสุดของสายที่จะอ่าน นี้ดังนี้ต่อไปนี้
การแปล กรุณารอสักครู่..