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

Запись данных в текстовый файл - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
Leew
 Аватар для Leew
1 / 1 / 0
Регистрация: 12.10.2012
Сообщений: 29
15.11.2012, 23:03     Запись данных в текстовый файл #1
Помогите решить задачу. Нужно создать что-то типа базы данных с записью в текстовый документ. Нужно вводить из клавиатуры марку машины и год изготовления. После чего эта информация записывается в текстовый файл в таком виде: № записи(инкремент) / Марка машины / Год изготовления / Дата записи в файл. Информация должна дописываться в файл, а не переписывать его при повторном запуске программы.
Вот пока то что я сделал:
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
#include <iostream>
#include <fstream>
#include <ctime>
using namespace std;
 
int main()
{
    int Number, n;    
    cout<<"Введите количество машин: "<<endl;
    cin>>n;
    string Brand[n];
    string Time[n];
   for(int i=0;i<n;i++)
        {
                cout<<"Введите марку машины: "<<endl;
                cin>>Brand[i];
        }
    // file
   char * fileName = "C:\\example.txt"; // 
    FILE * file = fopen(fileName, "w");
    if (file)
    {
                    // data
                time_t Data = time(NULL);
                tm* timeinfo = localtime(&Data);
                Time[i]=asctime(timeinfo);
              fputs(Brand[i].c_str(), file);
    }
   fclose(file);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2012, 23:03     Запись данных в текстовый файл
Посмотрите здесь:

C++ Запись данных в текстовый файл
C++ Запись в текстовый файл
Запись данных в текстовый файл C++
Неправильная запись в текстовый файл C++
До запись в текстовый файл C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
prosto_lynx
 Аватар для prosto_lynx
49 / 24 / 1
Регистрация: 09.06.2008
Сообщений: 225
15.11.2012, 23:41     Запись данных в текстовый файл #2
Если проблема в том, что он не дописывает, а переписывает файл, то в строке 20 вместо "w" пишите, например, "a+b". И что бы дописывать все введенные марки машин надо второй цикл организовать - по записи в файл.
Leew
 Аватар для Leew
1 / 1 / 0
Регистрация: 12.10.2012
Сообщений: 29
16.11.2012, 00:08  [ТС]     Запись данных в текстовый файл #3
prosto_lynx, благодарю, попробую это исправить. Я не понимаю как записать в файл данные через пробел и как новую машину записать с новой строки. Я хочу чтобы оно выглядело так:

№1 Fiat 2000 *дата*
№2 Reno 2004 *дата*

А в файл оно записывается все в одну строку, без пробелов.
№1Fiat2000*дата*№2Reno2004*дата*
JlightenDev_C++
 Аватар для JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
16.11.2012, 00:20     Запись данных в текстовый файл #4
cin.get(тут твой массив символов); считает все с пробелами тогда
"\r\n" перевод каретки на новую строку
Leew
 Аватар для Leew
1 / 1 / 0
Регистрация: 12.10.2012
Сообщений: 29
16.11.2012, 19:02  [ТС]     Запись данных в текстовый файл #5
JlightenDev_C++, не понял как и где это надо использовать, напишите пример, если можно.
JlightenDev_C++
 Аватар для JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
16.11.2012, 22:18     Запись данных в текстовый файл #6
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
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
 
int main(){
    setlocale(LC_ALL, "RUS");
    vector<char> old;
    string model, data, print;
    int counter(0);
    ifstream f_input("text.txt");
    while(!f_input.eof()){
    old.push_back(counter);
    f_input.get(old[counter]);
    counter++;                      
    }//Прошла запись старых файлов в вектор old
    cout << "Введите модель: ";
    cin >> model;
    cout << "Год изготовления: ";
    cin >> data;
    ofstream f_out("text.txt"); // В файл записывается вектор old
    for(int i = 0; i < old.size()-1; i++){
            f_out << old[i];
            }
    print = "\n" + model + " " + data; 
    for(int i = 0; i < print.size(); i++){ // В файл записываются новые данные
            f_out << print[i];
            }
    return 0;   
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2012, 20:41     Запись данных в текстовый файл
Еще ссылки по теме:

Чтение и запись из/в текстовый файл C++
C++ Запись в текстовый файл
Запись данных в текстовый файл C++

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

Или воспользуйтесь поиском по форуму:
Leew
 Аватар для Leew
1 / 1 / 0
Регистрация: 12.10.2012
Сообщений: 29
17.11.2012, 20:41  [ТС]     Запись данных в текстовый файл #7
Что-то у меня не получается. Можете сделать запись во второю строку в файл в моем коде программы?
Yandex
Объявления
17.11.2012, 20:41     Запись данных в текстовый файл
Ответ Создать тему
Опции темы

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