Standard Input/Output Redirection

ผมเขียนโปรแกรมตัวนึง เป็นโจทย์ของการแข่งขัน ACM - ICPC Programming Contest
แน่นอนว่า โจทย์ปัญหาพวกนี้ต้องการหลาย Test Case ในการทดสอบความถูกต้องของโปรแกรม

ครั้นผมจะนั่งใส่ Standard Input เองก็เหนื่อยอยู่ :)
ดังนั้นเรามา "หัดสบาย" กันเถอะ


นี่คือ Test Case ของโจทย์ข้อนี้ครับ ... สังเกตุบรรทัดแรกจะเห็นจำนวนของ Test Case และต่อๆ มาก็จะเป็นเนื้อหาของ Test Case นั้นๆ ... ผมจึงต้องเขียนโปรแกรมให้มันรันตามจำนวน "บรรทัดแรก" ของไฟล์ที่รับเข้าไป (ในที่นี้คือ t ในไฟล์ earthquake.cpp)

ดังนั้นขึ้นอยู่กับว่า คุณมีกี่ Test Case ก็มาเปลี่ยนด้วยนะ (จริงๆ มันมีวิธีเขียน Script แล้วแยกไฟล์ Test Case ด้วยนะ แต่ทำไม่เป็นน่ะ นี่คือวิธีที่ในการแข่งขันใช้ :)

คราวนี้การใส่ Standard Input ก็ง่ายแสนง่ายครับ เพียงแค่
ในขั้นตอนการรัน Execute File ไฟล์ (ในที่นี้คือ a.out)
ให้ใส่เครื่องหมาย < filename แล้วตามด้วยชื่อไฟล์ที่ต้องการ :)
แล้วเรายังสามารถเขียน Output ลงไฟล์ได้ด้วยนะ

ส่วนวิธีการ Output มี 2 แบบคือ Overwrite และ Append
ถ้าเขียนทับไฟล์เก่าเลย (Overwrite) ให้ใช้ > filename
แต่ถ้าต้องการเขียนต่อจากไฟล์เก่า (Append) ให้ใช้ >> filename

แค่นี้เอง ง่ายมากกกกกกกกก :P
ถ้าใครไม่รู้วิธีนี้ วิธีที่ Basic ที่สุดก็คือต้องเขียน Read File ของภาษานั้นๆ
ซึ่งในภาษาอย่าง C เนี่ย ยุ่งยากพอสมควรเลยทีเดียว

ลองเอาไปใช้ดูนะครับ ทำให้ชีวิตสบายขึ้นเยอะ

Popular posts from this blog

12 วิธี การบริการและดูแลลูกค้าในร้าน Starbucks

[Android Dev] การติดตั้ง Eclipse+AndroidSDK เพื่อพัฒนาโปรแกรมบน Android

5 TED Talk ที่จะช่วยให้คุณทำงานดีขึ้น