PDA

View Full Version : مبتدی: مشکل در کار با فایل ها در C++



Farzan_kh
یک شنبه 18 تیر 1391, 16:52 عصر
سلام
تو پروژه برنامه نویسی به یه مشکل برخوردم.برای ایجاد فایل کدی رو نوشتم که کار نمی کنه :

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
main()
{
File *f;
f=fopen("e:\\a.txt","w t");
for(i=1;i<=5;i++)
fprintf (f,"ali")

}

در واقع وقتی کد عمل کنه باید یک فایل تکست ساخته بشه تو مسیر داده شده ولی فایلی ساخته نمیشه.
مشکل این کدمون چیه؟

بهروز عباسی
یک شنبه 18 تیر 1391, 18:34 عصر
در واقع وقتی کد عمل کنه باید یک فایل تکست ساخته بشه تو مسیر داده شده ولی فایلی ساخته نمیشه.
مشکل این کدمون چیه؟

درود الان سی ندارم تست کنم
اما بگو کامپایلرت چیه؟
ایا برنامه تولید خطا میکنه یا اجرا میشه؟
چون مثلا در ابن کد
for(i=1;i<=5;i++)
به خاطر تعریف نکردن متغیر i برنامه باید دچار خطا بشه و..

Farzan_kh
یک شنبه 18 تیر 1391, 18:44 عصر
درود الان سی ندارم تست کنم
اما بگو کامپایلرت چیه؟
ایا برنامه تولید خطا میکنه یا اجرا میشه؟
چون مثلا در ابن کد
for(i=1;i<=5;i++)
به خاطر تعریف نکردن متغیر i برنامه باید دچار خطا بشه و..

turbo c هست.
نه خطا نمیده ، ران میشه ولی در مسیر داده شده چیزی ایجاد نمیشه.

بهروز عباسی
یک شنبه 18 تیر 1391, 18:49 عصر
لینک های زیر هم ببین
http://www.dbforums.com/delphi-c-etc/1198572-how-write-info-text-file-c-language.html
http://www.cprogramming.com/tutorial/cfileio.html
موفق باشید.

بهروز عباسی
یک شنبه 18 تیر 1391, 18:56 عصر
turbo c هست.
نه خطا نمیده ، ران میشه ولی در مسیر داده شده چیزی ایجاد نمیشه.
در پست قبلی اینو ندیدم
اگه می تونی از کامپایلرهای جدیدتر استفاده کن.
به اون درایوی که قراره فایل توش ایجاد بشه دسترسی کامل داری ( از طرف Admin محدودیتی براش تعریف نشده)

amir.bakhtiari
یک شنبه 18 تیر 1391, 19:06 عصر
اگه به این (http://barnamenevis.org/showthread.php?219367-%D9%86%D8%AD%D9%88%D9%87-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D9%81%D8%A7%DB%8C%D9%84%D9%87%D8%A7-%D8%AF%D8%B1-C-%D9%88-C)تاپیک یه نگاهی بندازی مشکلت حتمآ حل میشه

rezaricky
یک شنبه 18 تیر 1391, 21:20 عصر
FILE درسته نه File !
این تکه کد رو کپی کن ، اجرا میشه
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
int main()
{
FILE *f;
f=fopen("e:\\a.txt","w t");
for(int i=1;i<=5;i++)
fprintf (f,"ali") ;
return 0;
}

Hossenbor
دوشنبه 19 تیر 1391, 10:15 صبح
دوست عزیز منم این مشکلو داشتم برای حل این مشکل من از تابع fstream استفاده کردم از اون بهتره یک تحقیق کوپولو بکن تا طرز کارشو بفهمی زیاد سخت نیست ولی خیلی گسترده سوالی بود در خدمتم

بهروز عباسی
دوشنبه 19 تیر 1391, 11:46 صبح
برای حل این مشکل من از تابع fstream استفاده کردمفکر کنم Fstream.h برای ++C باشه نه C و دوستمون می خواست با C برنامه بنویسه.
http://www.cprogramming.com/tutorial/lesson10.html

Hossenbor
دوشنبه 19 تیر 1391, 13:52 عصر
نمی دونم خودشون گفتن C++ در ضمن دوست عزیز یک جستجو در مورد CreateFile یا FileCreate دقیق یادم نیست ولی یک api برای کار با فایله من زیاد باهاش کار نکردم اما تو اکثر برنامه هایی که خواندن فایل داشتن و دی اسمبلشون کردم این تابع رو دیدم

Hossenbor
دوشنبه 19 تیر 1391, 13:55 عصر
دوست عزیز به آخر کد fclose(f); اضافه بکن ببین بازم نتیجه نمیگیری؟

بهروز عباسی
دوشنبه 19 تیر 1391, 16:08 عصر
نمی دونم خودشون گفتن C++‎
حق با شماست من اشتباه کردم چون فقط کد رو دیدم

در ضمن دوست عزیز یک جستجو در مورد CreateFile یا FileCreate دقیق یادم نیست ولی یک api برای کار با فایله من زیاد باهاش کار نکردم اما تو اکثر برنامه هایی که خواندن فایل داشتن و دی اسمبلشون کردم این تابع رو دیدم

این توابع جزء API ویندوز هستند و برنامه اهی نوشته شده با این توابع محدود به ویندوز هستند اما فکر کنم برنامه های که با توابع استاندارد سی نوشته می شن رو می تونیم برای محیطهای دیگه مثل لینوکس استفاده کنیم.
موفق باشید.