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

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

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

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

14.11.2011, 22:20. Просмотров 1259. Ответов 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
14.11.2011, 22:26     Открытия файла #2
Sylar9, Вы открыли файл для чтения.
Цитата Сообщение от Sylar9 Посмотреть сообщение
не зная скоко у него ссылмволов
А наоборот знаете? Поделитесь секретом
nonamez123
185 / 181 / 12
Регистрация: 23.10.2010
Сообщений: 1,301
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;
считывает весь фаил в стринг с
Zoominger
363 / 252 / 62
Регистрация: 22.06.2010
Сообщений: 1,566
14.11.2011, 22:28     Открытия файла #4
Не зная имени или не зная размеров файла?
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,906
Записей в блоге: 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 Посмотреть сообщение
Не зная имени или не зная размеров файла?
не зная размеров
Zoominger
363 / 252 / 62
Регистрация: 22.06.2010
Сообщений: 1,566
14.11.2011, 22:44     Открытия файла #6
не зная размеров
ЕМНИП, точно так же, как и зная его размеры) Просто массив, в котором будут храниться строки, сделать динамическим.
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,906
Записей в блоге: 1
15.11.2011, 10:13  [ТС]     Открытия файла #7
Цитата Сообщение от Zoominger Посмотреть сообщение
ЕМНИП, точно так же, как и зная его размеры) Просто массив, в котором будут храниться строки, сделать динамическим.
А как его сделать динамическим просто я то как учусь программировать не знаю
nonamez123
185 / 181 / 12
Регистрация: 23.10.2010
Сообщений: 1,301
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());
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,906
Записей в блоге: 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());
а проше нельза как то
nonamez123
185 / 181 / 12
Регистрация: 23.10.2010
Сообщений: 1,301
15.11.2011, 10:39     Открытия файла #10
ну я как бы дал пример.
Zoominger
363 / 252 / 62
Регистрация: 22.06.2010
Сообщений: 1,566
15.11.2011, 22:05     Открытия файла #11
А как его сделать динамическим
Одномерный или двухмерный?
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,906
Записей в блоге: 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;
}
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
15.11.2011, 22:47     Открытия файла #13
fasked, boost::filesystem::file_size.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2011, 02:13     Открытия файла
Еще ссылки по теме:

C++ Функция открытия файла
Ошибка при попытке открытия файла C++
C++ Добиться, чтобы была ошибка открытия файла (файловый ввод/вывод)
C++ Ошибка открытия файла через ifstream
Ошибка открытия файла C++

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

Или воспользуйтесь поиском по форуму:
Smillles7
25 / 25 / 1
Регистрация: 23.04.2011
Сообщений: 130
16.11.2011, 02:13     Открытия файла #14
Цитата Сообщение от Sylar9 Посмотреть сообщение
а что означает это страка ifs.unsetf(ios::skipws);
не будет пропускать пробелы при считывании))
Yandex
Объявления
16.11.2011, 02:13     Открытия файла
Ответ Создать тему
Опции темы

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