السلام عليكم,
هل تذكرون برنامج التشفير!
أول دالة قمت بكتابتها كانت دالة إنتاج مفتاح التشفير,
الدالة بسيطة إلى أبعد الحدود, الدالة تقوم بكتابة مصفوفة من الأعداد العشوائية إلى ملف لا أكثر,
و لكن!
أول مرة كتبت الدالة كاد أن يشيب شعر رأسي بسببها!
كل ذلك بسبب غلطة مطبعية قمت بها في الدالة :D
لم أنتبه للأمر إلا لاحقاً و قمت بحل المشكلة!
المهم هذه هي الشفرة :
void GeneratePass( const char* passPath, size_t units ){
std::ofstream passFile;
size_t *pass = new size_t[units];
srand( __time32_t(NULL) );
for( size_t C = 0; C < units; C++ )
pass[C] = rand();
passFile.open( passPath, std::ios::binary );
passFile.write( reinterpret_cast<char*>(&pass), units * sizeof(size_t) );
passFile.close();
delete[] pass;
return;
}البرنامج سيعمل بشكل سليم دون ظهور أخطاء, و لكن!
قم بتشغيل البرنامج و انظر للملف الناتج و هو مفتاح التشفير المفترض و انظر للبيانات الموجودة فيه!
الحقيقة أني اكتشفت الخطأ من خلال الإطلاع على الملف الناتج و ليس من خلال مراقبة الدالة نفسها!
بعد النظر للملف الناتج بالمفكرة أو أي محرر نصوص! قل لي ماذا تلاحظ !
إذا اكتشفت العلة, وقتها يمكنك أن تخبرني بالخطأ الموجود في الدالة ؟!
هذا التحدي للمحترفين فقط و لا يسمح للمبتدئين بالإقتراب :P
شفرة البرنامج كاملة في المرفقات, البرنامج يقوم بإنتاج ملف يحوي بيانات عشوائية حجم الملف الناتج 4 kilobytes!
تحياتي,,



