الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكله في الكتابه الى ملف

مغلق
بدأه Yousof في 9 مايو 2006 · 2 رد · 415 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هذا البرنامج يقوم بقراءة احجام ملفات ذات امتداد .LOG

و يخزن الناتج في ملف آخر على هذا الشكل:

111

222

كيف اقوم بكتابتها على هذا الشكل:

222 111

شكرا على المساعده

#include <windows.h>

main(){
       WIN32_FIND_DATA fData;
       HANDLE hSearch, InFile, OutFile;
       
       char temp[MAX_PATH];
       char szNewPath[MAX_PATH];
       char szDirPath[] = "C:\\";
       char WriteFName[] = "C:\\text\\size.txt";
       DWORD size;
       DWORD written;

           
       hSearch = FindFirstFile("C:\\*.LOG",&fData);
       
       if(hSearch == INVALID_HANDLE_VALUE)
       {
         MessageBox(NULL,"No .LOG files found, exiting ...","Message",MB_OK);
         exit(0);
       } else
       {
         do
         {
             ZeroMemory(szNewPath,MAX_PATH);
             lstrcpy(szNewPath, szDirPath);       // copy the directory to szNewPath c:\
             
             lstrcat(szNewPath, fData.cFileName); // concatenate the file name with direcotry c:\file.log
             MessageBox(NULL,szNewPath,"error",MB_OK);

             // open an existing file
             InFile = CreateFile(szNewPath, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
             if(InFile == INVALID_HANDLE_VALUE)
          {
         MessageBox(NULL,"open file  failed","error",MB_OK);
         exit(0);
          }
          
                    OutFile = CreateFile(WriteFName, GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
   
             if(OutFile != INVALID_HANDLE_VALUE)
             {
               memset(temp,0,sizeof(temp));
            size = GetFileSize(InFile,NULL);
            SetFilePointer(OutFile, 0, NULL, FILE_END);
            	
               if(size != 0xFFFFFFFF)
               {          
                 wsprintf(temp,"%d\r\n",  size);
                 WriteFile(OutFile, temp, strlen(temp), &written, NULL);
               }
             }
                          
         } while(FindNextFile(hSearch,&fData)!= 0); // keep searching until there are no more .LOG files

       } // end if

// close the handles       
CloseHandle(hSearch);
CloseHandle(InFile);
}

تم تعديل هذه المشاركة بواسطة Yousof في 9 مايو 2006 في 18:59

#2

لم أقرأ الكود كاملاً ولم أجربه لذا ربما تكون هنا أشياء تحتاج للتعديل في الكود غير التي سأذكرها هنا

كما قلت لك في رد سابق في قسم الـ API .عليك بمناقشة المسالة مع نفسك ...

هذا الشئ يحدث متى؟

في عملية الكتابه الى الملف.

ما هو الجزء الخاص بالكتابه الى الملف في الكود؟

هنا

wsprintf(temp,"%d\r\n",  size);
WriteFile(OutFile, temp, strlen(temp), &written, NULL);

هناك نقوم بكتابة الحجم الى الملف .

لاحظ هنا

\r\n

ما الذي يقوم به؟

الباقي عليك ....

تحياتي

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#3

شكرا cipher

حذفت ال r\n\ و استبدلتها ب t\

اعتقد ان هذا ما اريده

شكرا لك مرة اخرى

هذا الموضوع مغلق.

مواضيع مشابهة