scanf ทั้งบรรทัด

เคยอยากอ่านข้อมูลใส่ string ทีเดียวทั้งบรรทัดมั้ยครับ?

ใช้ scanf(“%s”, …); ก็อ่านได้เฉพาะบรรทัดที่ไม่มีเว้นวรรคเท่านั้น
จะใช้ gets() ก็พอช่วยได้ แต่ติดปัญหาที่ว่า พอใช้งานร่วมกับ scanf อื่นๆ แล้วเจอปัญหามากมาย

นายนิน PJ ก็ชี้ทางสว่างว่า scanf ก็สามารถอ่านข้อความได้ทั้งบรรทัดเหมือนกัน โดยใช้ modifier นิดหน่อยกับ scanf ตามตัวอย่างนี้

scanf("%[^\n]", myString);

โอ้โห..สุดยอด ทำไมมันง่ายจัง… ก่อนหน้านี้เคยเสียเวลาเขียน function อ่านค่าทีละตัวอักษร ใส่ string เอง ขอบคุณท่าน นิน PJ :D ครับ… อ้อ ใครอยากรู้เรื่องเกี่ยวกับ scanf เพิ่มเติมก็เรียกคำสั่งนี้เลยครับ

$ man scanf

Reference ฉบับอ่านง่าย: บล็อกพี่อิ๊กเรื่อง scanf 102

Comments (2)

ZamossOctober 4th, 2008 at 9:46 pm

เมื่อไร try2hack จะกลับมครับรออยู่ อิอิ

S-DioxApril 27th, 2009 at 12:45 am

อันนี้มันอันตรายกับบัฟเฟอร์ไปใช่เหรอครับ เคยอ่านผ่าน ๆ ตาอยู่อะ

Leave a comment

Your comment