ดังนั้นฉันจึงเห็นวิธีแก้ไขปัญหามากมายบนไซต์นี้และบทช่วยสอนเกี่ยวกับการอ่านจากไฟล์ข้อความในภาษา C ++ แต่ยังไม่ทราบวิธีแก้ไขปัญหาของฉัน ฉันยังใหม่กับภาษา C++ ดังนั้นฉันคิดว่าฉันมีปัญหาในการรวบรวมเอกสารบางส่วนเพื่อให้เข้าใจได้ทั้งหมด
สิ่งที่ฉันพยายามทำคืออ่านหมายเลขไฟล์ข้อความโดยไม่สนใจความคิดเห็นในไฟล์ที่แสดงด้วย "#" ดังนั้นไฟล์ตัวอย่างจะมีลักษณะดังนี้:
#here is my comment
20 30 40 50
#this is my last comment
60 70 80 90
รหัสของฉันสามารถอ่านตัวเลขได้ดีเมื่อไม่มีความคิดเห็นใดๆ แต่ฉันไม่เข้าใจการแยกวิเคราะห์สตรีมดีพอที่จะเพิกเฉยต่อความคิดเห็น มันเป็นวิธีแก้ปัญหาการแฮ็กในตอนนี้
/////////////////////// Read the file ///////////////////////
std::string line;
if (input_file.is_open())
{
//While we can still read the file
while (std::getline(input_file, line))
{
std::istringstream iss(line);
float num; // The number in the line
//while the iss is a number
while ((iss >> num))
{
//look at the number
}
}
}
else
{
std::cout << "Unable to open file";
}
/////////////////////// done reading file /////////////////
มีวิธีที่ฉันสามารถรวมการจัดการความคิดเห็นเข้ากับโซลูชันนี้ได้หรือไม่ หรือฉันต้องการแนวทางอื่น คำแนะนำใด ๆ จะดีมากขอบคุณ
line.assign(line.substr(0,line.find('#')));
(เป็นคำสั่งแรกใน while-loop) จะเป็นวิธีหนึ่งในการเปลี่ยนแปลงที่จำเป็นอย่างรวดเร็ว - person jogojapan   schedule 09.11.2012