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

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

Войти
Регистрация
Восстановить пароль
 
shadowKD
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 46
#1

Как подключиться к текстовому файлу? - C++

08.10.2011, 09:09. Просмотров 790. Ответов 19
Метки нет (Все метки)

мне надо чтобы программа доставала от туда записи и сама записывала
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
08.10.2011, 09:13     Как подключиться к текстовому файлу? #2
C++
1
2
3
4
5
    fstream f("file.txt", ios::in | ios::out);
    string s;
 
    f >> s;
    f << s;
shadowKD
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 46
08.10.2011, 09:19  [ТС]     Как подключиться к текстовому файлу? #3
а как записать в него информацию или достать
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
08.10.2011, 09:24     Как подключиться к текстовому файлу? #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
int main()
{
    fstream f("file.txt", ios::in | ios::out);
    string s;
 
    f >> s;
    cout << s << endl;
    f.seekp(ios::beg);
    f << s << s << endl;
    f.close();
    
    return 0;
}
shadowKD
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 46
08.10.2011, 13:41  [ТС]     Как подключиться к текстовому файлу? #5
а что означают предпоследние 5 строчек так и непойму

Добавлено через 4 часа 15 минут
Цитата Сообщение от accept Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
int main()
{
    fstream f("file.txt", ios::in | ios::out);
    string s;
 
    f >> s;
    cout << s << endl;
    f.seekp(ios::beg);
    f << s << s << endl;
    f.close();
    
    return 0;
}
а где он этот файл создаёт
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,516
08.10.2011, 13:49     Как подключиться к текстовому файлу? #6
shadowKD, Вам стоит сначала почитать это http://www.cplusplus.com/reference/iostream/fstream/
а потом задавать вопросы если что не понятно.
Ещё файлы можно открывать в стиле си http://www.cplusplus.com/reference/c...y/cstdio/FILE/

Цитата Сообщение от shadowKD Посмотреть сообщение
а что означают предпоследние 5 строчек так и непойму
C++
1
2
3
4
5
    f >> s; //считать данные из файла в строку (символы до пробела)
    cout << s << endl; //напечатать строку (в которую считали символы)
    f.seekp(ios::beg);//установить позицию в файле в начало
    f << s << s << endl; //ввести в файл два раза строку s и в конце перевод строки
    f.close(); // закрыть файл
shadowKD
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 46
08.10.2011, 13:51  [ТС]     Как подключиться к текстовому файлу? #7
а где найти этот файл?
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.10.2011, 13:53     Как подключиться к текстовому файлу? #8
shadowKD, в папке вместе с программой
shadowKD
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 46
08.10.2011, 13:55  [ТС]     Как подключиться к текстовому файлу? #9
а у меня его там нет

Добавлено через 43 секунды
Цитата Сообщение от shadowKD Посмотреть сообщение
а у меня его там нет
где мне его найти
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,516
08.10.2011, 13:57     Как подключиться к текстовому файлу? #10
shadowKD, а вы его создайте с именем и расширением file.txt и он будет там)
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.10.2011, 13:59     Как подключиться к текстовому файлу? #11
если запускаете через IDE значит он в папке проекта,
а вообще запустите екзешник ручками и будет вам файл
shadowKD
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 46
08.10.2011, 14:00  [ТС]     Как подключиться к текстовому файлу? #12
я сейчас сам создал файл file.txt но в него ничего не записалось
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.10.2011, 14:01     Как подключиться к текстовому файлу? #13
shadowKD, слабо поиск в папке проекта запустить?
shadowKD
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 46
08.10.2011, 14:04  [ТС]     Как подключиться к текстовому файлу? #14
я запускал он мне только мой файл находит который я сам создал
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,516
08.10.2011, 14:08     Как подключиться к текстовому файлу? #15
shadowKD, а в него ничего и не должно записаться, вот смотрите
C++
1
2
3
4
5
6
7
8
    fstream f("file.txt", ios::in | ios::out);
    string s;
 
    f >> s; //считать из файла символы, файл пуст - s=""
    cout << s << endl;// напечатать пустую строку
    f.seekp(ios::beg);
    f << s << s << endl;//записать два раза пустую строку и перевод строки, имеем тогда то что в 
                               //файл ничего кроме перевода строки и не записывается, а его Вы могли и не заметить
shadowKD
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 46
08.10.2011, 14:10  [ТС]     Как подключиться к текстовому файлу? #16
я место string s;
поставил int s;
и cin >> s;
ввёл цифру 5 и он её не записал
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,516
08.10.2011, 14:13     Как подключиться к текстовому файлу? #17
Попробуйте тогда лучше мой пример, если у Вас возникают проблемы с поиском file.txt
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <fstream>
using std::fstream;
using std::ofstream;
using std::cerr;
 
int main()
{
    fstream file("file.txt",std::ios::in | std::ios::out);
    if(!file)
    {
        cerr<<"Creat new file.txt\n";
        ofstream temp("file.txt");
        temp.close();
        file.clear();
        file.open("file.txt",std::ios::in | std::ios::out);
    }
    file<<"shadowKD\n";
    file.close();
    return 0;
}
Комментировать надо?
UPD: поправил код так как забыл очистку флагов.
shadowKD
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 46
08.10.2011, 14:16  [ТС]     Как подключиться к текстовому файлу? #18
да пожалуйста
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,516
08.10.2011, 14:24     Как подключиться к текстовому файлу? #19
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
26
27
28
29
30
31
#include <iostream>
#include <fstream>
using std::fstream;
using std::ofstream;
using std::cerr;
 
int main()
{
    fstream file("file.txt",std::ios::in | std::ios::out); //пытаемся открыть file для чтения и записи 
    if(!file) //если указатель = 0 (файл открыть не удалось, вероятно потому что его нет)
    {
        cerr<<"Creat new file.txt\n";//уведомление
        ofstream temp("file.txt");//создаём временный файл file.txt
        
        //необязательная проверка, добавил просто чтобы учесть все варианты
        if(!temp) //если файл file.txt создать не удалось - вероятно он занят другим процессом и создать мы такой же не сможем
        {
             cerr<<"Can't create new file.txt\n";
             return 1; //завершить выполнение с кодом ошибки
        }
        temp.close();//закрываем временный файл, он нам больше не нужен
        
        file.clear();//убираем флаги ошибки у file (иначе запись в файл не будет происходить)
        file.open("file.txt",std::ios::in | std::ios::out);//пытаемся ещё раз открыть файл
        
    }
    file<<"shadowKD\n"; //записать строку в файл
    file.close();//закрыть файл (не обязательно так как в конце выполнения все открытые файлы "закрываются" сами)
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2011, 14:26     Как подключиться к текстовому файлу?
Еще ссылки по теме:

C++ Как правильно указать путь к файлу?
Путь к файлу, как сократить? C++
Подключение к текстовому файлу C++
Задание пути к текстовому файлу C++
C++ Как сделать поиск по файлу?

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

Или воспользуйтесь поиском по форуму:
shadowKD
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 46
08.10.2011, 14:26  [ТС]     Как подключиться к текстовому файлу? #20
а комментарий пожалуйста

Добавлено через 31 секунду
спасибо большое
Yandex
Объявления
08.10.2011, 14:26     Как подключиться к текстовому файлу?
Ответ Создать тему
Опции темы

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