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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Sylar9
134 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,952
Записей в блоге: 1
#1

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

14.11.2011, 22:20. Просмотров 1498. Ответов 13
Метки нет (Все метки)

Не могу понять как открыть файл не зная скоко у него ссылмволов
вот пол кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main()
{ 
    cout << "Name files" <<endl;
    string name;
    cin >> name;
    ifstream f(name.c_str());
 
    
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2011, 22:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Открытия файла (C++):

Проверка открытия файла - C++
Есть такой говнокод. Нужно проверить наличие файла и выдать ошибку откртия. #include &quot;head.h&quot; void main() { ...

Ошибка открытия файла - C++
пытаюсь загрузить файл из текущей папки. выводится такая ошибка ‘myfile’ was not declared in this scope FILE...

Функция открытия файла - C++
typedef char* Name; typedef FILE* File Name NameFile = new char File* file; Auto Pauto int flag = 0; void...

Проверка открытия файла вывода - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;stdio.h&gt; #include &lt;string&gt; using namespace std; int main () { cout...

Выбор файла для открытия - C++
Добрый день, мне нужна помощь с программой, почти всё сделано, только осталось прикрутить выбор файла пользователем для...

Ошибка открытия файла через ifstream - C++
Помогите неопытному программисту. Нужно считывать содержимое файла используя fstrem и преобразовать в целые числа. Написал...

13
fasked
Эксперт С++
4976 / 2556 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
14.11.2011, 22:26 #2
Sylar9, Вы открыли файл для чтения.
Цитата Сообщение от Sylar9 Посмотреть сообщение
не зная скоко у него ссылмволов
А наоборот знаете? Поделитесь секретом
0
nonamez123
186 / 182 / 12
Регистрация: 23.10.2010
Сообщений: 1,329
14.11.2011, 22:27 #3
C++
1
2
3
4
5
6
7
string s;
    char temp;
    ifstream ifs("input.txt");
    
    ifs.unsetf(ios::skipws);
    while(ifs >> temp)
        s += temp;
считывает весь фаил в стринг с
0
Zoominger
364 / 253 / 63
Регистрация: 22.06.2010
Сообщений: 1,566
14.11.2011, 22:28 #4
Не зная имени или не зная размеров файла?
0
Sylar9
134 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,952
Записей в блоге: 1
14.11.2011, 22:40  [ТС] #5
Цитата Сообщение от nonamez123 Посмотреть сообщение
C++
1
2
3
4
5
6
7
string s;
    char temp;
    ifstream ifs("input.txt");
    
    ifs.unsetf(ios::skipws);
    while(ifs >> temp)
        s += temp;
считывает весь фаил в стринг с
а что означает это страка ifs.unsetf(ios::skipws);

Добавлено через 21 секунду
Цитата Сообщение от Zoominger Посмотреть сообщение
Не зная имени или не зная размеров файла?
не зная размеров
0
Zoominger
364 / 253 / 63
Регистрация: 22.06.2010
Сообщений: 1,566
14.11.2011, 22:44 #6
не зная размеров
ЕМНИП, точно так же, как и зная его размеры) Просто массив, в котором будут храниться строки, сделать динамическим.
0
Sylar9
134 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,952
Записей в блоге: 1
15.11.2011, 10:13  [ТС] #7
Цитата Сообщение от Zoominger Посмотреть сообщение
ЕМНИП, точно так же, как и зная его размеры) Просто массив, в котором будут храниться строки, сделать динамическим.
А как его сделать динамическим просто я то как учусь программировать не знаю
0
nonamez123
186 / 182 / 12
Регистрация: 23.10.2010
Сообщений: 1,329
15.11.2011, 10:15 #8
динамическим как я понял, это несколько вариантов?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
string a,b;
    
    if(in==1){
        a="input.txt";
        b="output.txt";
    }
    else {
        a="output.txt";
        b="output2.txt";
    }
    
    
    
    ifstream infile;
    ofstream outfile;
    
    
    infile.open (a.c_str());
    outfile.open (b.c_str());
0
Sylar9
134 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,952
Записей в блоге: 1
15.11.2011, 10:33  [ТС] #9
Цитата Сообщение от nonamez123 Посмотреть сообщение
динамическим как я понял, это несколько вариантов?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
string a,b;
    
    if(in==1){
        a="input.txt";
        b="output.txt";
    }
    else {
        a="output.txt";
        b="output2.txt";
    }
    
    
    
    ifstream infile;
    ofstream outfile;
    
    
    infile.open (a.c_str());
    outfile.open (b.c_str());
а проше нельза как то
0
nonamez123
186 / 182 / 12
Регистрация: 23.10.2010
Сообщений: 1,329
15.11.2011, 10:39 #10
ну я как бы дал пример.
0
Zoominger
364 / 253 / 63
Регистрация: 22.06.2010
Сообщений: 1,566
15.11.2011, 22:05 #11
А как его сделать динамическим
Одномерный или двухмерный?
0
Sylar9
134 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,952
Записей в блоге: 1
15.11.2011, 22:30  [ТС] #12
Цитата Сообщение от nonamez123 Посмотреть сообщение
динамическим как я понял, это несколько вариантов?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
string a,b;
    
    if(in==1){
        a="input.txt";
        b="output.txt";
    }
    else {
        a="output.txt";
        b="output2.txt";
    }
    
    
    
    ifstream infile;
    ofstream outfile;
    
    
    infile.open (a.c_str());
    outfile.open (b.c_str());
Я так вот так сделала

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
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
    cout << "Name Files" <<endl;
    string name;
    cin >> name;
    ifstream f(name.c_str());
    string i;
    if (f)
    {
        while (!f.eof())
        {
            f >> i;
            cout << i;
        }
    }
    else
        cout << "No file" << endl;
    f.close();
system("pause");
    return 0;
}
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
15.11.2011, 22:47 #13
fasked, boost::filesystem::file_size.
0
Smillles7
25 / 25 / 1
Регистрация: 23.04.2011
Сообщений: 130
16.11.2011, 02:13 #14
Цитата Сообщение от Sylar9 Посмотреть сообщение
а что означает это страка ifs.unsetf(ios::skipws);
не будет пропускать пробелы при считывании))
0
16.11.2011, 02:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2011, 02:13
Привет! Вот еще темы с ответами:

Ошибка при попытке открытия файла - C++
Добрый день. При выполнении функции открытия файла F.open(adr,ios::in) по несуществующему адресу программу выбивает при этом появляется...

Пользовательская функция для создания/открытия файла - C++
void CreatOpenFile(Name &amp;NameFile, int &amp;flag) // Создание,открытие файла базы данных { char YorN; flag = 0; cout &lt;&lt; &quot;Введите имя...

Бинарный режим открытия файла; Битовые вхождения в файл - C++
Доброго времени суток! Нужна помощь, не могу разобраться как с заданием, так и с написанием программы. Задание такое: Написать...

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


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

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

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