Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
2 / 2 / 1
Регистрация: 14.09.2012
Сообщений: 83
1

Потоковый ввод/вывод

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

Author24 — интернет-сервис помощи студентам
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2013, 18:44
Ответы с готовыми решениями:

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

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

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

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

14
ну и долго меня небыло...
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
2 / 2 / 1
Регистрация: 14.09.2012
Сообщений: 83
01.04.2013, 19:16  [ТС] 3
Блин, а что с g++?
0
290 / 193 / 23
Регистрация: 03.08.2011
Сообщений: 2,824
Записей в блоге: 12
01.04.2013, 21:14 4
Цитата Сообщение от Pinokio Посмотреть сообщение
fcloseall()
по моему это не стандартная функция и работать она не должна(ну может)
0
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
01.04.2013, 21:22 5
Цитата Сообщение от Van111 Посмотреть сообщение
по моему это не стандартная функция и работать она не должна(ну может)
ну у меня запустилось, возможно нестандартная функция, можно ведь её заменить...
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2013, 21:58 6
Цитата Сообщение от Friday Посмотреть сообщение
можно ведь её заменить...
C++
1
2
fclose(in);
fclose(out);
0
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
01.04.2013, 22:12 7
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
2
fclose(in);
fclose(out);
по-моему ТС не этого хочет. Ему нужна функция, которая закрывает все за 1 раз...
ну допустим тут 100 файлов открыть нужно, неудобно будет их закрывать таким образом

З.Ы. ИМХО
0
5498 / 4893 / 831
Регистрация: 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
2 / 2 / 1
Регистрация: 14.09.2012
Сообщений: 83
01.04.2013, 22:31  [ТС] 9
Вообще должна поддерживаться и функция должна быть в stdio.h. этот пример был взят из книги. по идее она стандартная.
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2013, 22:38 10
Цитата Сообщение от Pinokio Посмотреть сообщение
по идее она стандартная.
Навряд ли...
0
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
01.04.2013, 22:40 11
Цитата Сообщение от Pinokio Посмотреть сообщение
Вообще должна поддерживаться и функция должна быть в stdio.h. этот пример был взят из книги. по идее она стандартная.
не все книги следуют стандарту с++, в книгах часто бывают опечатки
0
2 / 2 / 1
Регистрация: 14.09.2012
Сообщений: 83
01.04.2013, 22:42  [ТС] 12
http://msdn.microsoft.com/ru-r... 35374.aspx ну вот мсдн, позикс ее не рекоментдует, но и не запрещает
0
ну и долго меня небыло...
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
2 / 2 / 1
Регистрация: 14.09.2012
Сообщений: 83
01.04.2013, 22:43  [ТС] 14
хм... а вот с _fcloseall() прога отработала. не понимаю
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2013, 23:28
Помогаю со студенческими работами здесь

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

Потоковый ввод/вывод текста
Добрый день! Помогите пожалуйста разобраться. Почему при вводе текста в консоли, он сохраняется...

Потоковый ввод/вывод в файл(перегрузка операторов >> <<)
Доброго дня. Разбираю потоковый ввод/вывод данных в файл, с помощью перегрузки операторов сдвига...

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru