Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Pinokio
2 / 2 / 0
Регистрация: 14.09.2012
Сообщений: 83
#1

Потоковый ввод/вывод - C++

01.04.2013, 18:44. Просмотров 1247. Ответов 14
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
int main(int argc, char* argv[])
{
    FILE* in = fopen("xxx.txt", "rt");
    FILE* out = fopen("yyy.txt", "wt");
    if (!in)
        return 0;
    while(!feof(in))
        fputc(fgetc(in), out);
    fcloseall();
    return 0;
}
не видит функцию fcloseall() (использую mingw g++) пишет. 'fcloseall' was not declared in this scope
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2013, 18:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Потоковый ввод/вывод (C++):

потоковый ввод - вывод - C++
всем доброго времени суток. мне вот недавно задали написать программу которая реализует несколько процедур стандартной библиотеки...

Потоковый ввод-вывод - C++
Написать программу, которая будет добавлять в текстовый файл введенную с клавиатуры информацию Следует предусмотреть возможность выбора...

Потоковый ввод/вывод текста - C++
Добрый день! Помогите пожалуйста разобраться. Почему при вводе текста в консоли, он сохраняется каракулями? #include &lt;cstdlib&gt; ...

потоковый ввод и вывод строки С++ - C++
Ввести с клавиатуры строку символов. Вывести строку в обратном порядке на экран. В задаче использовать потоковый ввод и вывод строки

Потоковый ввод / вывод файлов - C++
Помогите пожайлуйста исправить ошибки в коде. В функции OemToChar пишет &quot;char*&quot; не совместим с параметром &quot;LPWSTR&quot; #include &quot;stdafx.h&quot; ...

Потоковый ввод/вывод wchar_t - C++
Здравствуйте, есть простенький код #include &lt;fstream&gt; #include &lt;iterator&gt; #include &lt;cctype&gt; template&lt;class InputIt, class...

14
Friday
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
01.04.2013, 19:06 #2
Цитата Сообщение от Pinokio Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
int main(int argc, char* argv[])
{
    FILE* in = fopen("xxx.txt", "rt");
    FILE* out = fopen("yyy.txt", "wt");
    if (!in)
        return 0;
    while(!feof(in))
        fputc(fgetc(in), out);
    fcloseall();
    return 0;
}
не видит функцию fcloseall() (использую mingw g++) пишет. 'fcloseall' was not declared in this scope
скачай нормальный компилятор, и твои проблемы будут решены

Добавлено через 33 секунды
vs2010express отлично видит, запускает
0
Pinokio
2 / 2 / 0
Регистрация: 14.09.2012
Сообщений: 83
01.04.2013, 19:16  [ТС] #3
Блин, а что с g++?
0
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,598
Записей в блоге: 12
01.04.2013, 21:14 #4
Цитата Сообщение от Pinokio Посмотреть сообщение
fcloseall()
по моему это не стандартная функция и работать она не должна(ну может)
0
Friday
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
01.04.2013, 21:22 #5
Цитата Сообщение от Van111 Посмотреть сообщение
по моему это не стандартная функция и работать она не должна(ну может)
ну у меня запустилось, возможно нестандартная функция, можно ведь её заменить...
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2013, 21:58 #6
Цитата Сообщение от Friday Посмотреть сообщение
можно ведь её заменить...
C++
1
2
fclose(in);
fclose(out);
0
Friday
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
01.04.2013, 22:12 #7
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
2
fclose(in);
fclose(out);
по-моему ТС не этого хочет. Ему нужна функция, которая закрывает все за 1 раз...
ну допустим тут 100 файлов открыть нужно, неудобно будет их закрывать таким образом

З.Ы. ИМХО
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2013, 22:26 #8
Цитата Сообщение от Friday Посмотреть сообщение
по-моему ТС не этого хочет. Ему нужна функция, которая закрывает все за 1 раз...
Хотеть не вредно... Если компилятор не поддерживает?
Цитата Сообщение от Friday Посмотреть сообщение
ну допустим тут 100 файлов открыть нужно, неудобно будет их закрывать таким образом
C++
1
2
3
4
5
FILE* arr[100] = {in, out, ...};
...
for (int i = 0; i < 100; ++i)
      fclose(arr[i]);
...
0
Pinokio
2 / 2 / 0
Регистрация: 14.09.2012
Сообщений: 83
01.04.2013, 22:31  [ТС] #9
Вообще должна поддерживаться и функция должна быть в stdio.h. этот пример был взят из книги. по идее она стандартная.
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2013, 22:38 #10
Цитата Сообщение от Pinokio Посмотреть сообщение
по идее она стандартная.
Навряд ли...
0
Friday
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
01.04.2013, 22:40 #11
Цитата Сообщение от Pinokio Посмотреть сообщение
Вообще должна поддерживаться и функция должна быть в stdio.h. этот пример был взят из книги. по идее она стандартная.
не все книги следуют стандарту с++, в книгах часто бывают опечатки
0
Pinokio
2 / 2 / 0
Регистрация: 14.09.2012
Сообщений: 83
01.04.2013, 22:42  [ТС] #12
http://msdn.microsoft.com/ru-ru/library/ms235374.aspx ну вот мсдн, позикс ее не рекоментдует, но и не запрещает
0
Friday
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
01.04.2013, 22:43 #13
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
2
3
4
5
FILE* arr[100] = {in, out, ...};
...
for (int i = 0; i < 100; ++i)
      fclose(arr[i]);
...
как вариант, но все же стандартной функции похоже нету
0
Pinokio
2 / 2 / 0
Регистрация: 14.09.2012
Сообщений: 83
01.04.2013, 22:43  [ТС] #14
хм... а вот с _fcloseall() прога отработала. не понимаю
0
kravam
быдлокодер
1701 / 888 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
01.04.2013, 23:28 #15
Цитата Сообщение от Pinokio Посмотреть сообщение
хм... а вот с _fcloseall() прога отработала. не понимаю
Да ну чё непонятного?
C++
1
2
//stdio.h
_CRTIMP int __cdecl __MINGW_NOTHROW _fcloseall (void);
Вот и всё. То что в других местах называется fcloseall, в твоей и моей версии называется _fcloseall. Проверка:
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
#include<stdio.h>
#include<windows.h>
 
int main(void)
{
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
 
   FILE *fp1,*fp2;
   int streams_closed;
   /* открыть два потока */
   fp1 = fopen("DUMMY.ONE","w");
   fp2 = fopen("DUMMY.TWO","w");
   /* закрыть открытые потоки */
   streams_closed = _fcloseall();
   if(streams_closed == EOF)
      /* вывести сообщение об ошибке */
      perror(" Ошибка ");
   else
      /* вывести результат работы функции */
      printf("Было закрыто %d потока\n",streams_closed);
   getchar ();
   return 0;
}
Friday, и не фиг тут на компилятор гнать
0
01.04.2013, 23:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2013, 23:28
Привет! Вот еще темы с ответами:

Потоковый ввод-вывод. В уже созданном файле необходимо найти и заменить некоторую запись - C++
Всем доброго времени суток!!! Не могу справиться с лабораторной работой. В уже созданном файле необходимо найти и заменить некоторую...

Потоковый ввод и ввод данных. Работа с числами - C++
Ввести с экрана два нат. числа. Найти частное первого на второе и определить, встречается ли среду его дробной части цифра 3( рассматривать...

потоковый ввод - C++
всем привет! ситуация такая: при выполнении считываются только R2 и h, не могу понять, в чем дело. dev-c++ просто выдает &quot;step t =...

потоковый ввод с консоли - C++
Всем привет! Нужно в цикле вводить строки с консоли, пока пользователю не надоест. Вопрос: как пользователю завершить ввод? Такой код: ...


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

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

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