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

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

Войти
Регистрация
Восстановить пароль
 
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
#1

Открыть файл - C++

22.09.2013, 17:25. Просмотров 244. Ответов 3
Метки нет (Все метки)

Подскажите, как в функции открыть файл, и вернуть дeскриптоp.
C++
1
2
3
4
int openfile(*char filename) {
...
return дескриптор  
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2013, 17:25     Открыть файл
Посмотрите здесь:

Открыть файл C++
Невозможно открыть файл C++
C++ Открыть файл
Открыть файл по расширению C++/C C++
открыть obj файл C++
C++ Не открыть файл!
C++ Чем открыть файл cсv файл в текстовом документе?
Открыть файл C++
Открыть файл блокнотом C++
Открыть файл с C++
C++ Невозможно открыть файл
Не удается открыть файл C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
22.09.2013, 17:52     Открыть файл #2
Можно как то так сделать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using std::cout;
using std::endl;
#include <fstream>
using std::fstream;
 
fstream& f(char* s)
{
    fstream op;
    op.open(s,fstream::in|fstream::out);
    return op;
}
 
int main()
{
 
 
    return 0;
}
Добавлено через 2 минуты
Или как то так можно для stdio.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using std::cout;
using std::endl;
#include <fstream>
using std::fstream;
#include <cstdio>
 
FILE* f(char* s)
{
    FILE* p=fopen(s,"r");
    return p;
}
 
int main()
{
 
 
    return 0;
}
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
22.09.2013, 17:54  [ТС]     Открыть файл #3
Цитата Сообщение от ninja2 Посмотреть сообщение
Можно как то так сделать:
В 11 строке Attempting to return a reference to local variable 'op'
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
22.09.2013, 17:56     Открыть файл #4
Там чуток ошибся нужно явно память выделить, а то при выходе из функции все удалиться. Примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using std::cout;
using std::endl;
#include <fstream>
using std::fstream;
 
fstream& f(char* s)
{
    fstream* op=new fstream;
    op->open(s,fstream::in|fstream::out);
    return *op;
}
 
int main()
{
 
 
    return 0;
}
Добавлено через 1 минуту
fishec, Да говорю ошибся в попыхах набрал не проверил, нужно явно память выделить.
Yandex
Объявления
22.09.2013, 17:56     Открыть файл
Ответ Создать тему
Опции темы

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