القراءة والكتابة إلى ملف نصي في C++

< div class = "MsoNormal" style = "الهامش السفلي: .0001pt ؛ الهامش السفلي: 0 سم ؛" >في هذا البرنامج التعليمي ، سنتعلم كيفية القراءة والكتابة في ملف نصي في C ++. في كلتا الحالتين ، تحقق دائما مما إذا كان الملف موجودا بعد الإعلان عن دفق بيانات القراءة / الكتابة: < / span>
< نمط الامتداد = "اللون: #274e13; عائلة الخط: " اريال" , " هيلفيتيكا" ، بلا رقيق ؛" >
< / span>< / span>ifstream myFlux (< / span >< span style = "اللون: أحمر ؛ عائلة الخط: " ساعي جديد" , " ساعي" صغيره; ارتفاع الخط: 15.3333330154419px;" > "C: / test.txt" < / span>); < / span >< / span >
if(myFlow){
   ... < / span >< / span >
}< / span>< / span >
else{
  نبسب؛ رسالة تشير إلى أن الملف غير موجود
}< / span>< / span >

الكتابة إلى ملف بلغة C++

< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >تتم الكتابة عن طريق إنشاء نمط دفق < / span>ofstream يأخذ اسم الملف كمعلمة. هذا التدفق سوف يلعب دورا. الوسيط بين  مترجم وملف. البيان< / span>اسم التدفق< < < نمط الامتداد = "اللون: #cc0000;" >" "اكتب شيئا" < / امتداد>< < إندل. < / span >< span style = "ارتفاع الخط: 15.3333330154419px ؛" > يكتب الجملة "< / span >< span style = "ارتفاع الخط: 15.3333330154419px ؛" >كتابة شيء ما< / span>" في الملف test.txt< / سبان>. يجعل endl فاصل أسطر.< / span >< / span >< / div>
< نمط الامتداد = "اللون: #274e13; عائلة الخط: " ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >#include < ايوستريم> < / o: p>< / span >< / span >< / div>
< نمط الامتداد = "اللون: #274e13; عائلة الخط: " ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >#include < فستريم> < / o: p>< / span >< / span >< / div>
< نمط الامتداد = "اللون: #274e13; عائلة الخط: " ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >#include < سلسلة> < / o: p>< / span >< / span >< / div>
< نمط الامتداد = "اللون: #274e13 ؛" >#include < ستريم> < / span >< o: p >< / o: p >< / span >< / span >< / div>
استخدام مساحة الاسم std ؛ < / span >< / span >< / div>

< / div>
كتابة باطلة (int T []) < o: p>< / o: p>< / span >< / span >< / div>
{
  نبسب؛ نبسب؛ نبسب؛ اسم ملف const السلسلة (< نمط الامتداد = "اللون: أحمر ؛" >"C:/test.txt"); < / o: p>< / span >< / span >< / div>
  نبسب؛ نبسب؛ نبسب؛ أوفستريم ماي ستريم (nomFichier.c_str ()) ؛ < / o: p>< / span >< / span >< / div>
  نبسب؛ نبسب؛ نبسب؛ if(myFlow)
  نبسب؛ نبسب؛ نبسب؛ {
  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ سلسلة سلسلة < / o: p>< / span >< / span >< / div>
  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ ل(int i = 0 ; i < 10 ; i++)
< نمط الامتداد = "ارتفاع الخط: 115٪ ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ سلسلة += تحويل Int (T [i]) + < نمط الامتداد = "اللون: أحمر ؛" >" "< / امتداد> ؛ < / o: p>< / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 115٪ ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ < ماي فيد < سلسلة < < إندل. < / o: p>< / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 115٪ ؛" >  نبسب؛ نبسب؛ نبسب؛ }
< نمط الامتداد = "ارتفاع الخط: 115٪ ؛" >  نبسب؛ نبسب؛ نبسب؛ else
< نمط الامتداد = "ارتفاع الخط: 115٪ ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ التكلفة < < < نمط الامتداد = "اللون: أحمر ؛" >"تعذر فتح الملف." < / span > < / span >< < إندل. نبسب؛ نبسب؛ نبسب؛ < / o: p>< / span >< / span >< / div>
}< / span>< / span>< / div>

//تحويل عدد صحيح إلى string
سلسلة  convertInt(int  number) < / o: p>< / span>< / span >< / div>
{
  نبسب؛ سلسلة SS ؛ إس إس < < رقم; العودة  ss.str(); < / o: p>< / span >< / span >< / div>
}

< / span>< / span>< نمط الامتداد = "اللون: #38761d; عائلة الخط: " ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >//إنشاء رقم aletory
int rand (int nb) < / o: p>< / span>< / span >< / div>
{
  نبسب؛ نبسب؛ العائد راند ()٪ ملحوظة ؛ < / o: p>< / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 115٪ ؛" >}

< / div>
< نمط الامتداد = "ارتفاع الخط: 115٪ ؛" >int main()
< نمط الامتداد = "ارتفاع الخط: 115٪ ؛" >{
< نمط الامتداد = "ارتفاع الخط: 115٪ ؛" >  نبسب؛ نبسب؛ int T1 [< نمط الامتداد = "اللون: أرجواني ؛" >10]={ 1 < / span >،< نمط span = "اللون: أرجواني ؛" >2 < / span > ، < span style = "اللون: أرجواني ؛" >3 < / span > ، < span style = "اللون: أرجواني ؛" >4< / span>,5،6،7،8،9،10 < / سبان>} ؛ < / o: p>< / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 115٪ ؛" >  نبسب؛ نبسب؛ الكتابة (T1) ؛ < / o: p>< / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 115٪ ؛" >  نبسب؛ نبسب؛ اللعب (); < / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 115٪ ؛" >  نبسب؛ نبسب؛ < / span > سراند (الوقت (NULL)) ؛ < / o: p>< / span >< / span >< / div>
  نبسب؛ نبسب؛ ل (int i = 0 ؛ i< 5; i++)
  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ printf (< نمط الامتداد = "اللون: أحمر ؛" >"٪d  \n",rand(50)); < / o: p>< / span >< / span >< / div>
  نبسب؛ نبسب؛ النظام (< نمط الامتداد = "اللون: أحمر ؛" >وقفة" < / سبان >) ؛ < / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 115٪ ؛" >}< / span>< / span >

قراءة ملف في C++

في C ++ ، يمكنك القراءة بثلاث طرق: < / span >< / div>
  1. سطرا بسطر: سيقرأ مؤشر التشغيل السطر بأكمله وينتقل إلى السطر التالي باستخدام طريقة getline< / i> (دفق ifstream ، سطر السلسلة) .< / span>< / li>
  2. كلمة بكلمة: مع عبارة myFlow > > كلمة; الكلمة هي ثونغ. يتم فصل الكلمات بمسافات.
  3. حرف بحرف: باستخدام الطريقة get(char c).
مثال: < / span >< / span >< / div>< / div>
باطل  القراءة () < o: p>< / o: p>< / span >< / span >< / div>
{
  نبسب؛ نبسب؛ نبسب؛ ifstream myFlux (نمط < span = "اللون: أحمر ؛" >"C:/test.txt"); < / o: p>< / span >< / span >< / div>
  نبسب؛ نبسب؛ نبسب؛ نبسب؛ < / span >< span style = "ارتفاع الخط: 15.3333330154419px ؛" >if(myFlow)
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ {
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ خط سلسلة < / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ printf (< نمط الامتداد = "اللون: أحمر ؛" >"سطرا بسطر\n"); < / o: p>< / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ بينما(getline(myFlow,line))
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ التكلفة< < خط< < إندل. < / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ printf (< نمط الامتداد = "اللون: أحمر ؛" >كلمة بكلمة \ n" < / span >) ؛ < / o: p>< / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ < / span >myFlow.clear(); < / o: p>< / span >< / span >
< span style = "عائلة الخط: " ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ تهيئة شريط التمرير صفر< / span>< / span>< / div>
  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ myFlux.seekg(0< / span> ، ios :: التسول) ؛ < / o: p>< / span >< / span >< / div>
  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ < / span >< span style = "ارتفاع الخط: 15.3333330154419px ؛" >كلمة سلسلة; < / o: p>< / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ بينما (myFlow > > كلمة) < / o: p>< / span>< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ التكلفة< < موت< < إندل. < / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ printf (< نمط الامتداد = "اللون: أحمر ؛" > "حرف بحرف \ ن "< / سبان >) ؛ < / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ < / span >myFlow.clear(); < / o: p>< / span >< / span >< / div>
  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ myFlux.seekg(0< / span> ، ios :: التسول) ؛ < / o: p>< / span >< / span >< / div>
  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ دبابة c;
  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ بينما(myFlux.get(c))
  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ < / span >< span style = "ارتفاع الخط: 15.3333330154419px ؛" >{
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ التكلفة< < ج< < إندل. < / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ إنت&نبسب; الموضع = myFlow.tellg () ؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ < / o: p>< / span >< / span >< / div>
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ }
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ }
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ else
< نمط الامتداد = "ارتفاع الخط: 15.3333330154419px ؛" >  نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ التكلفة< < < نمط الامتداد = "اللون: أحمر ؛" >"غير قادر على فتح الملف"  < / امتداد>< < إندل. < / o: p>< / span >< / span >< / div>
}