Форум программистов, компьютерный форум CyberForum.ru

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Чтение двух файлов одновременно! http://www.cyberforum.ru/cpp-beginners/thread362969.html
Здравствуйте! Подскажите, пожалуйста, как открыть одновременно два файла для чтения. Из первого файла записать данные в массив А, из второго в массив В. Заранее благодарен за помощь! Моя попытка: #include <iostream> #include <conio.h> #include <fstream>
C++ Помогите с CharToOem и ещё с if and else Всем доброго дня. У меня вот такая вот проблема не могу разобраться по чему не работает русский язык, пишет что CharToOem невозможно преобразить параметр 1 из const*char и не могу понять почему пишет что else без парной if хотя вроде всё есть. Первая работа #include <iostream> #include <windows.h> char* Rus (const char* text); using namespace std; int main() http://www.cyberforum.ru/cpp-beginners/thread362962.html
программу для вычисления значения функции C++
Составить программу для вычисления значения функции z=x1+x2+x3 , где х1,х2,х3(на рисунке) ai, bi, ci – элементы массивов Вычисление xi выполняется в процедуре, а для вычисления факториала использовать функцию.
Написание генератора простых чисел C++
Составить программу-генератор простых чисел , в основу положить формулу 2х2+29 при 0≤ х ≤28
C++ Заданы радиус круга ... http://www.cyberforum.ru/cpp-beginners/thread362956.html
Заданы радиус круга, сторона квадрата , две смежные стороны прямоугольника и три стороны прямоугольника. Определить, какая фигура имеет большую площадь.
C++ Класс "Историческое событие" //Ввести класс ИСТОРИЧЕСКОЕ СОБЫТИЕ с полями ЧИСЛО, МЕСЯЦ, ГОД, СОБЫТИЕ. Составить и протестировать функцию //a)ввода исторического события; //b)вывода на экран списка исторических событий; //c)вычисляющую интервал в днях, прошедший между двумя заданными историческими событиями; //d)сортирующую массив исторических событий по полю СОБЫТИЕ. Я сделала так(не могу сделать под с и d): ... подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
08.10.2011, 11:38     как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла?
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них запизаем, например в первый запихаем 1234 а во второй 5678 и выполним такой код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <fstream>
 
using namespace std;
 
 
int main () {
 
 //ОТкроем первый файл на чтение
 ifstream in ("f_0.txt");
 
 //Проверим, нормально ли открыли
 printf ("in.good()== %d\n", in.good());
 
 //Считаем из него в строку
 char A [10];
 in >> &A[0] ;
 
//ПРоверим, чё мы запихали в буфер 
for (int i= 0; i< 3; i++) {
  printf ("%c", A[i]);
 }
 printf ("\n");
 
 
 //Закроем
 in. close ();
 
 //Снова откроем
 in.open ("f_1.txt");
 
 //И снова проверим, результат негативный!
 printf ("in.good()== %d\n", in.good());
 getchar ();
 return 0;
}
и получим, что результат негативный
C++
1
2
3
in.good()== 1
123
in.good()== 0
Так, на второе открытие файла влияет КОРРЕКТНО работающий оператор >>; Но каким образом?
(А для проверки этого утверждения закомментим это:
// //Считаем из него в строку
// char A [10];
// in >> &A[0] ;
//
// for (int i= 0; i< 3; i++) {
// printf ("%c", A[i]);
// }
// printf ("\n");

И получаем

C++
1
2
in.good()== 1
in.good()== 1
как так?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru