تبلیغات :
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 14

نام تاپيک: ايجاد فايل در سي++؟

  1. #1
    اگه نباشه جاش خالی می مونه rouhallah's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    478

    پيش فرض ايجاد فايل در سي++؟

    بنام خدا
    با سلام
    سوالي داشتم در مورد اينكه چگونه ميشود درون يك حلقه دستور ايجاد فايل گذاشت و تا هنگامي كه شرط حلقه اجازه ميده به تعداد فايلهاي ايجاد شده اضافه بشه
    من تكه برنامه زير دستور ايجاد فايل را درون حلقه گذاشتم اما فقط يك فايل ايجاد ميشه علتش هم احتمالاَ به خاطر هم نام بودن فايلهاي بعدي هست كه شايد جايگزين هم ميشوند من اين تكه برنامه رو اجرا كردم و خطاي زمان اجرا هم ايجاد نشد
    حال چطور ميتوان كاري كرد كه به صورت خودكار فايلهاي بعدي با نام هاي متفاوت ايجاد شوند؟
    با تشكر لطفا راهنماييم كنيد
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by rouhallah; 03-11-2007 at 13:10.

  2. #2
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    سلام.
    براي كاري كه شما ميخوايد انجام بديد روش هاي ديگه اي هم وجود داره اما اين از همه ساده تر هست.
    كافي شما از itoa_ استفاده كنيد كه كارش تبديل int به string هست.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    اگه جايي نياز به توضيح داشت اطلاع بديد.

  3. #3
    اگه نباشه جاش خالی می مونه rouhallah's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    478

    پيش فرض

    با سلام دوباره
    فقط يه مشكلي دارم اونم اينكه اين تابه شما را يعني itoa_ كامپايلر نميشناسه و ميگه درستشو تايپ كنيد
    براي همين من به help كامپايلر مراجعه كردم امانه خود اين تابع رو ديدم نه چيزي كه شبيه به اين نوشته شده باشه
    پس اگر ممكنه در اين مورد كمكم كنيد
    با عرض پوزش يه سوال ديگه هم داشتم كه ربطي ب اين سوال نداره
    اونم اينكه اگه يه فايل اجرايي(exe) داشته باشيم و بخواهييم بدون اينكه دوباره از اول همه چيزو بنويسيم يه تكه برنامه رو به اون اضافه كنيم آيا ميشه
    يعني تعيين كنيم كه ترجمه برنامه جديد روي يك فايل از قبل آماده انجام بشه؟

    اگه زحمتي نيست يه سواله ديگه هم داشتم و اون اينكه چطوري ميشه مثل شما كه جوابم رو با برنامه اي كه پيشنهاد داديد
    برنامه اي كه ميخوام مشكلش رو حل كنم و از شما بپرسم مثل شما مرتب ثبت بشه و به هم نريزه منظورم متني كه شما تو زمينه آبي نوشتيد
    با تشكر

  4. #4
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    سلام.
    شما میتونید از itoa استفاده کنید.در کامپایلر های Borland به این شکل هست و "_" رو نداره.
    اگه درست متوجه شده باشم شما میخواید کد خودتون رو به یک فایل exe اضافه کنید. اصطلاحا Append کنید.
    کاری که Virus ها انجام میدن. اگه منظورتون این بود جوابتون مثبته.ولی اصلا کار راحتی نیست.باید با ساختار فایل exe آشنا باشید.توضیحش خیلی مفصله.
    برای سوال سومتون هم باید اضافه کنم که کافیه کدتون رو Select کنید و بر روی آیکن “ # Code” کلیک کنید.
    Last edited by someone; 08-11-2006 at 00:22.

  5. #5
    اگه نباشه جاش خالی می مونه rouhallah's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    478

    پيش فرض

    با سلام مجدد
    دوست عزيز وقتي شما اون جواب قبلي رو به من داديد و من در جوابتون گفتم نتونستن تابعي با آن نام را پيدا كنم تو حرفاتون دقت كردم و ديدم استفاده از اين تابع در مورد كاري كه ميخوام واجب نيست
    پس اومدم از همون آرايه ها استفاده كردم و نام فايلي كه ميخواستم ايجاد بشه رو در آرايه قراردادم
    وبا اضافه كردن يك واحد به چيزي كه در هر عنصر آرايه قرار دارد در هر بار اجرا شدن حلقه اين طوري نامهاي متفاوت ايجاد كردم و برنامه هم كار كرد البته تو اين برنامه من فقط عنصر اول را تغيير دادم و عنصرهاي ديگه مقدار اسكي صفر دارند كه باعث ايجاد فايلهاي يك حرفي شد
    حال من با توجه به جواب جديد شما از تابع معرفي شده نيز استفاده خواهم كرد
    حال سوالي كه اين بار با عرض پوزش از شما دارم اينه كه اگه بخوام تو شرط اجراي حلقه به جاي يك متغير
    اين شرط باشه كه اگر تو فلان مسير يا تو فلان پوشه فلان فايل وجود داشت حلقه اجرا بشه يا نشه
    من خواستم از دستوري كه متغير فايل رو تو شرط قرار ميده استفاده كنم ولي ديدم همراه اين دستور تو مثالي كه براي راهنمايي خودم استفاده ميكنم دستور fopen بكار برده شده و اين دستور باعث ايجاد فايل ميشه
    اما من ميخوام بررسي حضور يك فايل رو بدون ايجاد كردن آن انجام بدم
    برنامه اي كه تا الان پيش بردم(هنوز) كامل نيست را در زير آوردم كه شك دارم شرط حلقه while چطور الان كار ميكنه چون تو اون مسير چه فايل ديگه اي داشته باشم چه نداشته باشم اجرا ميشه براي همين سوالم رو درمورد بررسي حضور فايل حتما جواب بديد.
    اگه كمكم كنيد خيلي ممنون ميشم
    يه سوال ديگه هم داشتم و اون معرفي مرجعي الكترونيكي براي به قول شما append كردن كد به فايل است اگه معرفي كنيد ممنون ميشم چون اين طوري وقت با ارزشتون هم كمتر گرفته ميشه .
    راستي اومدم امتحان كنم مثل شما كدها رو مرتب بنويسم اما اون كاري كه كردم فقط يك خط اول روتو متن وارد ميكنه آيا بايد خط به خط اين كار رو انجم بدم
    با تشكر
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <string.h>

    void main()
    {
    int i;
    char name[7];
    FILE *ft;
    FILE *fp;
    char s[4]="d:\\";
    char address[64];
    char ch;

    name[0]=32;
    name[1]=0;
    name[2]=0;
    name[3]=0;
    name[4]=0;
    name[5]=0;
    name[6]=0;


    while(fp!=NULL)
    {

    for(name[0]=32;name[0]<=92;name[0]++)
    {
    strcpy(address,s);
    strcat(address,name);
    strcat(address,".exe");
    ft=fopen(address,"wb");
    for(i=0;i<10;i++)
    {
    putc(ch,ft);
    }
    fclose(ft);
    printf("%s\n",address);
    memset(address,'\0',sizeof(address));
    }

    }}

  6. #6
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    دوباره سلام.
    آرگومان دوم fopen یک const char* هست که میتونه این مقادیر رو داشته باشه:
    “r” : برای Read فایل رو باز میکنه.
    “w” : برای Write فایل رو باز میکنه.
    “a” : برای Append کردن یعنی فایل رو باز میکنه و اطلاعات رو در انتهای فایل قرار میده.البته نه اونطوری که منظور
    شما بود چون اگه بخواید اطلاعات رو به این شکل به فایل exe اضافه کنید فایلتون به اصطلاح فاسد میشه.
    “b” : به صورت باینری فایل رو باز میکنه.
    "t" : در مد Text فایل رو باز میکنه.
    و تركيب اين حالات.
    بنابراین برای کاری که میخواید شما انجام بدید میتونید از "r" استفاده کنید که فایل رو برای خواند باز میکنه.
    وقتی که شما از "wb" استفاده میکنید فایل رو در مد باینری ایجاد میکنه.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در موردAppend کردن شما میتونید در باره File Structure مطلب پیدا کنید.
    تو کتاب های اسمبلی هم مطالب خوبی در باره ی سختمان فایل exe وجود داره
    مثلا Advanced Assembly language از peter Norton یا چنین کتابهایی . همین طور در بارش Search کنید.
    در مورد سوم کافی کد ها بین دو تگ CODE قرار بگيره.تمام كد رو انتخاب كنيد بعدش روي code"#" كليك كنيد.
    Last edited by someone; 09-11-2006 at 15:48.

  7. #7
    اگه نباشه جاش خالی می مونه rouhallah's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    478

    پيش فرض

    نقل قول نوشته شده توسط someone
    دوباره سلام.
    آرگومان دوم fopen یک const char* هست که میتونه این مقادیر رو داشته باشه:
    “r” : برای Read فایل رو باز میکنه.
    “w” : برای Write فایل رو باز میکنه.
    “a” : برای Append کردن یعنی فایل رو باز میکنه و اطلاعات رو در انتهای فایل قرار میده.البته نه اونطوری که منظور
    شما بود چون اگه بخواید اطلاعات رو به این شکل به فایل exe اضافه کنید فایلتون به اصطلاح فاسد میشه.
    “b” : به صورت باینری فایل رو باز میکنه.
    "t" : در مد Text فایل رو باز میکنه.
    و تركيب اين حالات.
    بنابراین برای کاری که میخواید شما انجام بدید میتونید از "r" استفاده کنید که فایل رو برای خواند باز میکنه.
    وقتی که شما از "wb" استفاده میکنید فایل رو در مد باینری ایجاد میکنه.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در موردAppend کردن شما میتونید در باره File Structure مطلب پیدا کنید.
    تو کتاب های اسمبلی هم مطالب خوبی در باره ی سختمان فایل exe وجود داره
    مثلا Advanced Assembly language از peter Norton یا چنین کتابهایی . همین طور در بارش Search کنید.
    در مورد سوم کافی کد ها بین دو تگ CODE قرار بگيره.تمام كد رو انتخاب كنيد بعدش روي code"#" كليك كنيد.

    نمي دونم دوباره با چه رويي دارم مزاحم ميشم
    ولي قول ميدم آخرين سوالم باشه اگه هم مشكل ديگه پيدا كردم هرطور شده خودم حلش ميكنم
    پس يه سلام ديگه و آخرين سلام
    اين سوال آخر من در مورد مخفي كردن همون فايلهايي هست كه تو برنامه دستور ايجادشون ميديم
    لطفاً بگوييد آيا دستوري هست كه با اضافه كردن اون به برنامم بتونم فايلهايي كه توليد ميشن رو پنهان كرد
    در ضمن اگه در ويندوز با دستور ديده شدن فايلهاي مخفي در نيز نتوان اونارو قابل مشاهده كرد كه ديگه خيلي خوبه لطفاً اگه دستوري تو c++ ميشناسين اونو با مثال بگيد
    ديگه ببخشيد تو اين مدت وقتتون رو تلف كردم
    با تشكر

  8. #8
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    سلام.
    اين چه حرفي هست ميزنيد.اينجا براي اين هست كه به هم كمك كنيم واگه قرار باشه
    سوال پرسيدن باعث مزاحمت باشه كه اين forum وجودش معني نداره.
    اين يه وظيفه ست.شايد من هم مشكلي داشته باشم كه به كمك شما حل بشه.
    مسلما شما مزاحم نيستيد و باعث خوشحالي من هست اگه بتونم كمكي كرده باشم.

    براي اينكه بتونيد خصوصيات يك فايل رو تغيير بديد كافي از تابع SetFileِAttributes استفاده كنيد كه در
    Windows.h وجود داره. اين تابع دو تا آرگومان داره كه اولي آدرس فايل مورد نظر هست و دومي پرچمي كه كار مورد نظر شما رو انجام ميده. مثل برنامه ي زير :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگه از VS6.0 يا borland Compiler استفاده ميكنيد نيازي به tchar.h و ()T_ نيست.
    در ضمن اين پرچم ها عبارتند از:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    براي برگشت به حالت نرمال كافي از پرچم FILE_ATTRIBUTE_NORMAL استفاده كنيد.
    راستي يكي از تاپيك هايي كه تو اين forum گذاشتم به نام IO Functions هست كه يه نگاه بهش بكنيد.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    اگه مشكلي بود خوشحال ميشم كمك كنم.
    ممنون.
    Last edited by someone; 10-11-2006 at 01:16.

  9. #9
    اگه نباشه جاش خالی می مونه rouhallah's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    478

    پيش فرض

    سلام.
    اين چه حرفي هست ميزنيد.اينجا براي اين هست كه به هم كمك كنيم واگه قرار باشه
    سوال پرسيدن باعث مزاحمت باشه كه اين forum وجودش معني نداره.
    اين يه وظيفه ست.شايد من هم مشكلي داشته باشم كه به كمك شما حل بشه.
    مسلما شما مزاحم نيستيد و باعث خوشحالي من هست اگه بتونم كمكي كرده باشم.

    براي اينكه بتونيد خصوصيات يك فايل رو تغيير بديد كافي از تابع SetFileِAttributes استفاده كنيد كه در
    Windows.h وجود داره. اين تابع دو تا آرگومان داره كه اولي آدرس فايل مورد نظر هست و دومي پرچمي كه كار مورد نظر شما رو انجام ميده. مثل برنامه ي زير :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگه از VS6.0 يا borland Compiler استفاده ميكنيد نيازي به tchar.h و ()T_ نيست.
    در ضمن اين پرچم ها عبارتند از:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    براي برگشت به حالت نرمال كافي از پرچم FILE_ATTRIBUTE_NORMAL استفاده كنيد.
    راستي يكي از تاپيك هايي كه تو اين forum گذاشتم به نام IO Functions هست كه يه نگاه بهش بكنيد.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    اگه مشكلي بود خوشحال ميشم كمك كنم.
    ممنون.

    با سلام به دوست عزيزم جناب someone
    حتماً تعجب مي‌كنيد كه در باره اين موضوع بعد اين همه مدت دوباره اومدم سراغش
    علتش اينه كه قبلاً حجم درسها زياد بود و نزديك امتحان ها بود نتونستم كارم رو ادامه بد
    در مورد اون چك كردن مسيري خاص و اينكه آيا فايلي خاص در اون مسير هست يا نه
    پرسيده بودم و شما گفتيد بايد از فايل هدر windows.h استفاده كنم و اگه از VS6.0 يا borland Compiler استفاده ميكنيد نيازي به tchar.h و ()T_ نيست
    من هم اومدم فقط از windows.h استفاده كردم اما هنگام كامپايل شدن اروور ميداد
    ونه BOOL result رو ميشناخت و در مورد SetFileAttributes و FILE_ATTRIBUTE_HIDDEN ميگفت كه درست نوشته نشده
    در صورتي كه من درست مثل شما نوشتم در ضمن فايل هدر windows.h رو نيز باز كردم اما از اين عبارات تو اون فايل خبري نبود
    در ضمن نسخه اي كه استفاده ميكنم فكر كنم Borland باشه چون در قسمت help ويرايشگر كه رفتم اين عبارات نوشته شده بود
    ++ Turbo c
    Version 3.0
    Copyright (c) 1990,1992 by
    .Borland International, Inc

    پس لطفاً كمكم كنيد تا بتونم مشكلم رو حل كنم
    در ضمن اين سوال رو در ادامه همون ايجاد فايل در سي++ نوشتم كه يادتون بياد موضوع چي بوده
    با تشكر

  10. #10
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    دوست عزیزم سلام.
    متاسفم که جواب دادنم اینقدر طول کشید.یک مقدار گرفتار بودم.
    وقتی که دارید برای ویندوز برنامه مینویسید و میخواید از API استفاده کنید باید IDE ای رو انتخاب کنید
    که از WinAPI پشتیبانی کنه. نسخه ای که شما دارید ازش استفاده میکنید ++BorlandC تحت Dos هست.
    اگه نظر من رو بخواید پیشنهاد میکنم که Visual Studio رو نصب کنید (نسخه ی 6.0) برای اینکه بتونید از
    Visual C استفاده کنید. هم کار با این IDE راحت هست و هم از برنامه نویسی تحت Windows پشتیبانی
    میکنه. (مگه میشه نکنه!!!).
    در مورد Borland هم از نسخه ی 5 اون استفاده کنید.
    کدی که براتون گذاشتم مشکلی نداره و دلیل مشکلی که براتون پیش اومد وجود نداشتن Windows.h هست.

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •