مشاركة: سؤال بسيسسط في ال C++
و هذه الإرور التي يعطيني إياها:
كود:
error C2664: 'void __thiscall std::basic_ifstream<char,struct std::char_traits<char> >::open(const char *,int)' : cannot convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator
<char> >' to 'const char *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
علماً أن البرنامج يعمل عندما أقوم بكتابة نص فتح الملف بالطريقة التالية:
كود:
filename.open("C:\file.dat")
أي عندما أعطيع ال path مباشرة
مشاركة: سؤال بسيسسط في ال C++
للأسف الي تسويه بفتح الملف خطأ
اذا كان عندك 4 ملفات:
in_file1.txt , in_file2.txt , in_file3.txt , in_file4.txt
to open the one you want you should do this:
ifstream file1 , file2 , file3 , file4;
string name_file;
cout<<"Enter file name> ";
cin>>name_file;
if(name_file == "in_file1.txt")
{
file1.open("in_file1.txt");
if(file1.fail())
{
cerr<<"CANNOT OPEN THE FILE"<<endl;
exit(1);
}
}
else if(name_file == "in_file2.txt")
{
file2.open("in_file2.txt");
if(file2.fail())
{
cerr<<"CANNOT OPEN THE FILE"<<endl;
exit(1);
}
}
else if(name_file == "in_file3.txt")
{
file3.open("in_file3.txt");
if(file3.fail())
{
cerr<<"CANNOT OPEN THE FILE"<<endl;
exit(1);
}
}
else if(name_file == "in_file4.txt")
{
file4.open("in_file4.txt");
if(file4.fail())
{
cerr<<"CANNOT OPEN THE FILE"<<endl;
exit(1);
}
}
else
{
cout<<"FILE NAME NOT MATCH"<<endl;
exit(1);
}
i think this way you will not have a problem opening the file
لازم تأخذ بعين الإعتبار ان الملف موجود في نفس المكان الموجود فيه البرنامج
بالنسبة لــ
get
هذا امر يخليك تقرأ حرف واحد
put
هذا امر يخليك تكتب حرف واحد
اذا عندك اسألة ثانية لاتستحي انا في الخدمة
مشاركة: سؤال بسيسسط في ال C++
مشكور على ردك بس انت ما فهمت قصدي بالسؤال:D
و قصدي هو أنه : اقدر أفتح الملف بإعطائه ال path عن طريق variable ؟؟؟؟؟؟؟
يعني آخذ ال path مال الملف من اليوزر أو من argument!!!!
و قصدي أني ما أعرف اسم الملف مسبقاً
و السؤال الثاني قصدي كيف استخدم ال get و ال put أعرف شو بسوو بس ما أعرف
كيفية استخدامهم
كود:
File1.get(?????????????)
File1.put(?????????????)