قراءة الأعداد الصحيحة من ملف نصي باستخدام C ifstream
يمثل استرداد وتخزين معلومات الرسم البياني المجاورة من ملف نصي إلى متجه تحديًا عندما التعامل مع خطوط عدد صحيح متغير. فيما يلي حل شامل باستخدام ifstream لـ C:
يتضمن النهج التقليدي قراءة كل سطر باستخدام getline() واستخدام دفق سلسلة إدخال لتحليل السطر. تعمل هذه التقنية بشكل جيد مع الخطوط التي تحتوي على عدد ثابت من الأعداد الصحيحة.
#include
#include
#include
std::ifstream infile("text_file.txt");
std::string line;
while (std::getline(infile, line)) {
std::istringstream iss(line);
int n;
std::vector v;
while (iss >> n) {
v.push_back(n);
}
// Process the vector v
}
ومع ذلك، إذا كان لديك خطوط ذات أعداد صحيحة مختلفة، فهناك حل من سطر واحد يستفيد من الحلقة ومصطلح "البقاء"، من باب المجاملة لوك دانتون:
#include
#include
#include
int main() {
std::vector<:vector>> vv;
for (std::string line;
std::getline(std::cin, line);
vv.push_back(std::vector(std::istream_iterator(std::move(std::istringstream(line))),
std::istream_iterator()))
);
// Process the vector of vectors vv
}
في هذا المقتطف، يضمن المصطلح "stay" أن يظل مرجع القيمة المقدمة صالحًا بعد النقل. تعد هذه الخطوة ضرورية لتحقيق الكفاءة، لأنها تتجنب نسخ الأحرف غير الضرورية.
توفر هذه الحلول طرقًا فعالة ومتعددة الاستخدامات لاستخراج الأعداد الصحيحة من ملف نصي وتخزينها في ناقل، بغض النظر عما إذا كانت الخطوط تحتوي على خط ثابت أو ثابت عدد متفاوت من الأعداد الصحيحة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3