PDA

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



Arashdn
پنج شنبه 21 دی 1391, 20:27 عصر
سلام دوستان

من به تازگی کار با فایلها در C++ رو شروع کردم
اولین برنامه مو به این شکل نوشتم
#include <iostream>
#include <fstream>
using namespace std;


int main()
{
ofstream myfile;
myfile.open("testfile.txt");
myfile << "Test writing 1 \n";
myfile.close();
return 0;
}

اصولا نباید در محلی که برنامه درش اجرا شده یه فایل به نام testfile ایجاد بشه و توش متن نوشته بشه؟
در حالی که هیچ اتفاقی نمی افته !!!
دلیل چی میتونه باشه؟
ممنون

aidinMC
پنج شنبه 21 دی 1391, 20:33 عصر
کد باز کردن فایل ایراد داره...
به شکل زیر تغییر بده...
myfile.open("\\testfile.txt");
//or
myfile.open("/testfile.txt");

Arashdn
پنج شنبه 21 دی 1391, 20:37 عصر
به این شکل درش اوردم و خروجی برنامه متن error در کسنول هست
#include <iostream>
#include <fstream>
using namespace std;


int main()
{
ofstream myfile;
myfile.open("\\testfile.txt");
if(myfile.is_open())
{
myfile << "Test writing 1 \n";
myfile.close();
cout << "Done";
}
else
cout << "error";

cin.get();
return 0;
}

aidinMC
پنج شنبه 21 دی 1391, 21:12 عصر
کد شما رو میزنم درس کار میکنه!!!

Arashdn
پنج شنبه 21 دی 1391, 21:18 عصر
کد شما رو میزنم درس کار میکنه!!!
از چه کامپایلری استفاده میکنید؟
مال من رو Visual c++ 2010 هست ...

aidinMC
پنج شنبه 21 دی 1391, 21:33 عصر
چقد باحال ماله منم همینه!!

the king
جمعه 22 دی 1391, 07:31 صبح
سلام دوستان

من به تازگی کار با فایلها در C++ رو شروع کردم
اولین برنامه مو به این شکل نوشتم
#include <iostream>
#include <fstream>
using namespace std;


int main()
{
ofstream myfile;
myfile.open("testfile.txt");
myfile << "Test writing 1 \n";
myfile.close();
return 0;
}

اصولا نباید در محلی که برنامه درش اجرا شده یه فایل به نام testfile ایجاد بشه و توش متن نوشته بشه؟
در حالی که هیچ اتفاقی نمی افته !!!
دلیل چی میتونه باشه؟
ممنون

پروژه رو Build کنید و بعد اون پوشه Debug یا Release که در مسیر پروژه تون هست رو باز کنید و فایل exe ای که اونجا هست اجرا کنید.

Arashdn
جمعه 22 دی 1391, 11:22 صبح
مشکل از این بود که مسیر فایل رو باید بصورت

C:\\testfile.txt
میدادم ، و علاوه بر اون فایل باید بصورت run as administrator اجرا می شد ...

حالا سوال اینه که اگه بخوام فایل در محل اجرای برنامه ایجاد بشه چیکار کنم؟
ممنون

the king
جمعه 22 دی 1391, 12:33 عصر
مشکل از این بود که مسیر فایل رو باید بصورت

C:\\testfile.txt
میدادم ، و علاوه بر اون فایل باید بصورت run as administrator اجرا می شد ...

حالا سوال اینه که اگه بخوام فایل در محل اجرای برنامه ایجاد بشه چیکار کنم؟
ممنون

من همون کد قبلی که فقط اسم فایل بود و \ یا / نداشت رو بدون مشکل اجرا کردم، لزومی نداره که مسیر فایل مطلق باشه.

sr2m72
جمعه 22 دی 1391, 13:03 عصر
سلام. اين كد هيچ مشكلي نداره و جواب ميده:

#include <iostream>
#include <fstream>
using namespace std;


int main()
{
ofstream myfile;
myfile.open("testfile.txt");
if(myfile.is_open())
{
myfile << "Test writing 1 \n";
myfile.close();
cout << "Done";
}
else
cout << "error";

cin.get();
return 0;
}




موفق باشيد!!

Arashdn
جمعه 22 دی 1391, 13:15 عصر
سلام. اين كد هيچ مشكلي نداره و جواب ميده:

#include <iostream>
#include <fstream>
using namespace std;


int main()
{
ofstream myfile;
myfile.open("testfile.txt");
if(myfile.is_open())
{
myfile << "Test writing 1 \n";
myfile.close();
cout << "Done";
}
else
cout << "error";

cin.get();
return 0;
}




موفق باشيد!!
همونطور که گفتم مشکل از اینکه باید run as administrator بشه !!!!
مگه نوشتن در یه فایل که در فولدر خود برنامه است چه چیز خاصیه که دسترسی ادمین بخواد؟؟؟؟

sr2m72
جمعه 22 دی 1391, 14:54 عصر
همونطور که گفتم مشکل از اینکه باید run as administrator بشه !!!!
مگه نوشتن در یه فایل که در فولدر خود برنامه است چه چیز خاصیه که دسترسی ادمین بخواد؟؟؟؟

واسه من که نیازی به run as administrator نیست!!
شاید یوزر شما Limited باشه و مجوز نوشتن را نداشته باشید!

موفق باشید//!!

Arashdn
جمعه 22 دی 1391, 15:01 عصر
واسه من که نیازی به run as administrator نیست!!
شاید یوزر شما Limited باشه و مجوز نوشتن را نداشته باشید!

موفق باشید//!!
یوزر من ادمینه و مشکلی از این بابت نیست .....