ما هي أفضل طريقة يجب أن أذهب حول إنشاء برنامج لتخزين المعلومات في ملف ، تحرير المعلومات في هذا الملف ، إضافة معلومات جديدة

StackOverflow https://stackoverflow.com/questions/704892

سؤال

أنا على وشك أن تبدأ في مشروع صغير أحاول فعله أين يمكنني إنشاء C++ برنامج لتخزين بيانات المخزون في ملف ( أعتقد .txt سوف تفعل )

  • • وصف البند • كمية على اليد • الجملة التكلفة • التكلفة التجزئة • تاريخ وأضاف أن المخزون

أنا بحاجة إلى أن يكون قادرا على:

• إضافة سجلات جديدة إلى الملف • عرض أي تسجيل في ملف • تغيير أي سجل في الملف

هل هناك أي شيء يجب أن أعرف من قبل أن أبدأ هذه التي يمكن أن تجعل الأمر أكثر سهولة وكفاءة...

مثل على سبيل المثال ، يجب أن تحاول استخدام XML أو ما يكون من الصعب جدا للعمل مع طريق C++?

لم أفهم أبدا الطريقة الأكثر فعالية للقيام بذلك.

مثل البحث من خلال الملف والبحث عن الأشياء قوسين أو شيء ما ؟

تحرير

على datasize لا ينبغي أن تكون كبيرة جدا.هو المنزلية أعتقد يمكن أن أقول لكم.أريد أن أكتب البنية هي المحتويات في ملف الطريق ، كيف لي أن أفعل ذلك ؟

هل كانت مفيدة؟

المحلول

هناك الكثير من النهج.هل هذا واجب أو حقيقي استخدامها ؟ إذا كان يفعل الواجبات المنزلية ، ربما يكون هناك بعض القيود على ما كنت قد تستخدم.

وإلا أقترح بعض جزءا لا يتجزأ من نظم إدارة قواعد البيانات مثل سكليتي.هناك آخرون أيضا ، ولكن هذا سوف يكون أقوى الحل سيكون لديك أيضا أسهل في التنفيذ.

XML هو أيضا مقبول ، ولها العديد من القابل لإعادة الاستخدام تطبيقات المتاحة ، ولكن سوف تبدأ في فقدان الأداء مرة واحدة تذهب إلى الآلاف من السجلات.الشيء نفسه ينطبق على سلمان.و يمكن للمرء أن لا تزال debat واحد الذي هو أبسط - JSON أو XML.

احتمال آخر هو خلق struct و كتابة محتوياته مباشرة إلى الملف.سوف تحصل صعبة على الرغم من إذا كان حجم قياسي ليست ثابتة.و إذا كان السجل تغييرات تنسيق الملف سوف تحتاج إلى إعادة بنائها.وإلا فإن هذا الحل يمكن أن يكون واحدا من أفضل أداء-الحكمة - إذا نفذت بعناية.

نصائح أخرى

هلا أخبرتنا لماذا لا تريد استخدام محرك قاعدة البيانات ؟

إذا كان هذا هو فقط للتعلم ثم....تعطينا الرجاء يقدر حجم البيانات المخزنة في هذا الملف و الوصول إلى نمط (كيف العديد من المستخدمين, كيف غالبا ما تفعل ذلك الخ) ؟

وسيكون التحدي لخلق بحث فعال و تعديل التعليمات البرمجية.

من أجل البحث عن هياكل البيانات المنظمة.تعديل إنه كيف يمكنك إرسال التحديثات إلى ملف دون قراءته تماما في الذاكرة ، تحديثه هناك ومن ثم الكتابة مرة أخرى يعود تماما إلى الملف.

إذا كان هذا هو المشروع الذي سوف يكون في الواقع تستخدم ، مع احتمال أن يكون الميزات المضافة مع مرور الوقت ، قاعدة البيانات الحل من البداية, حتى لو كان يبدو مبالغة.لقد سلكنا هذا الطريق من قبل ، الميزات الصغيرة الحصول على إضافة أكثر من مرة ، قبل أن تدرك أنه عليك تنفيذ قاعدة البيانات.ضعيف.لدغة الرصاصة و استخدام قاعدة البيانات.

إذا كان هذا هو ممارسة التعلم, ذلك يعتمد على كمية البيانات التي تريد تخزينها.إذا كانت صغيرة ، أسهل شيء نفعله هو قراءة كامل الملف في الذاكرة وتعمل على ذلك هناك.عندما يتم إجراء تغييرات كتابة كامل الملف إلى القرص.إذا كانت البيانات كبيرة جدا للقيام بذلك, القادم أفضل شيء هو أن يكون الحجم ثابت السجلات.إنشاء جراب البنية التي تحتوي على كافة البيانات (أي لا مؤشرات ، stl الحاويات ، إلخ).ثم يمكنك كتابة السجلات الفردية دون الحاجة إلى إعادة كتابة الملف بأكمله.إذا لم يكن أي من هذه سوف تعمل أفضل رهان هو قاعدة حل.

إذا كنت تصر على أن تفعل ذلك يدويا, أقترح سلمان بدلا من XML.

أيضا, النظر في sqlite.

هذا يبدو مثل العمل المثالي بالنسبة سكليتي.صغيرة وسريعة ومرنة وسهلة الاستخدام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top