سؤال

  1. وفقا للمرجع، إذا كنت تستخدم ifstream infile ( "test.txt" , ifstream::in ); فإنه سوف Allow input operations on the stream. ولكن ما هي بعض الأمثلة على "عمليات الإدخال"؟
  2. يكون ifstream infile ( "test.txt" , ifstream::in | ifstream::binary ); بناء الجملة الصحيح لاستخدام أعلام متعددة؟
  3. هل سيحدث فرقا إذا تغيرت ifstream:: ل iso:: ?

شكرًا لك

هل كانت مفيدة؟

المحلول

  1. وفقًا للمرجع ، إذا استخدمت ifstream infile ("test.txt" ، ifstream :: in) ؛ولكن ما هي بعض الأمثلة على "عمليات الإدخال"؟

القراءة من ملف مما يعني كل ما يمكن أن يدعمه دفق الإدخال.يرى istream وظائف الأعضاء.عادةً، يمكنك القيام بالتنسيقين (باستخدام >>) وقراءات غير منسقة (باستخدام read).تذكر ذلك ifstream هو التخصص في basic_ifstream قالب ل char يكتب.اعتمادًا على احتياجاتك، على سبيل المثال، لقراءة ملف مشفر UTF-16، قد تضطر إلى استخدام تخصص مختلف (wifstream) أو حتى استخدام لغة خاصة (اقرأ هذا لمعرفة المزيد عن اللغات).

  1. هل ifstream موجود في الملف ("test.txt" , ifstream::in | ifstream::binary);

نعم.

  1. هل سيحدث فرقًا إذا قمت بتغيير ifstream::الى ايزو::؟

لا.

نصائح أخرى

عمليات الدفق هي extraction << و insertion >>.عندما تفعل الافتراض التاليfile هو من fstream يكتب:

file << 5 << 6.5 << "Hello World!"; // insertion of data (output)
file >> x >> y >> str; // exaction of data (input)

يمكنك أيضًا التعامل مع stream ك binary stream.في هذه الحالة، لا يبدو الأمر حقًا مثل "stream"من البيانات ولكن هذا يمنحك وصولاً عشوائيًا إلى البيانات.في بعض الحالات، لا يمكنك استخدام الوضع الثنائي، خاصة إذا كانت بياناتك غير متوفرة مثل دفق الشبكة.الإدراج والاستخراج هما العمليتان الرئيسيتان على التدفقات.

ifstream تم إنشاؤه باعتباره input stream بشكل افتراضي.لذا، std::ios::in زائدة عن الحاجة في هذه الحالة.أنت تستخدم الأعلام بشكل صحيح.

جميع التدفقات ترث من ios.إذن، الأعلام متوفرة في كلا المكانين، يمكنك إما استرجاعها منهم ios مباشرة أو من fstream.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top