Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
kravam
быдлокодер
1709 / 896 / 105
Регистрация: 04.06.2008
Сообщений: 5,545
1

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

08.10.2011, 11:38. Просмотров 1557. Ответов 1
Метки нет (Все метки)

Друзья! Создадим два текстовых файла, 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
как так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2011, 11:38
Ответы с готовыми решениями:

Открытие текстового файла как поток
Тоесть у меня есть: FILE *out; out = fopen(&quot;output.txt&quot;, &quot;w&quot;); .......

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла.
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt;...

Чтение текстового файла специфического файла
Добрый день! Есть один текстовый файл определенного формата. Заголовок по...

Как правильно реализовать чтение данных из текстового файла?
char buff; ifstream sho; sho.open(&quot;Мафіни.txt&quot;); if (!sho.is_open()) { ...

Открытие текстового файла
вроде бы все пишу правильно, но текст с файла не отображает. Если писать через...

1
OstapBender
584 / 523 / 75
Регистрация: 22.03.2011
Сообщений: 1,585
08.10.2011, 13:52 2
может вы eof достигли и флаг остался.
clear надо сделать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2011, 13:52

Открытие текстового файла из программы
Привет. Заинтересовал такой вопрос: можно ли из кода самой программы открыть...

Чтение из файла - программа корректно работает лишь раз
пишу курсовую,возникла проблема, суть: при первом запуске вроде работает всё...

Как заменить чтение строки из консоли на чтение текстового файла?
основное задание: найти частоту суффикса (например, &quot;ing&quot;) в текстовом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru