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

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

Восстановить пароль Регистрация
 
Leonman
 Аватар для Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 266
12.06.2014, 21:27     Запись в текстовый файл #1
Здраствуйте.
Нашёл небольшой кусочек кода в интеренете, который записывает текст в текстовый файл. Он работает.
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(0,""); // включаем кириллицу в консоли
    char * fileName = "C:\\example.txt"; // Путь к файлу для записи
    FILE * file = fopen(fileName, "w");
    if (file) // если есть доступ к файлу,
    {
        char * str = "I Like The Coding!"; // инициализируем строку
        bool result = fputs(str, file); // и записываем ее в файл
        if (!result) // если запись произошла успешно
            cout << "Строка в файл успешно записана!" << endl; // выводим сообщение
    }
    else
    cout << "Нет доступа к файлу!" << endl;
    fclose(file);
    return 0;
}
Но мне нужно, чтобы текст вводился в консоле, а затем поподай в файл, а не был уже готовым как тут
C++
1
char * str = "I Like The Coding!"; // инициализируем строку
Не подскажите, как изменить программу.
Сам тоже пытался, ничего путного не вышло.

Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2014, 21:27     Запись в текстовый файл
Посмотрите здесь:

C++ Запись в текстовый файл
Запись данных в текстовый файл C++
Неправильная запись в текстовый файл C++
C++ Запись значений в текстовый файл
C++ Запись данных в текстовый файл
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
12.06.2014, 21:33     Запись в текстовый файл #2
Leonman,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <stdio.h>
using namespace std;
 
int main()
{
    setlocale(0,""); // включаем кириллицу в консоли
    char * fileName = "example.txt"; // Путь к файлу для записи
    FILE * file = fopen(fileName, "w");
    if (file) // если есть доступ к файлу,
    {
        char * str = new char[100]; // инициализируем строку
        gets(str);
        bool result = fputs(str, file); // и записываем ее в файл
        if (!result) // если запись произошла успешно
            cout << "Строка в файл успешно записана!" << endl; // выводим сообщение
    }
    else
    cout << "Нет доступа к файлу!" << endl;
    fclose(file);
    return 0;
}
Leonman
 Аватар для Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 266
12.06.2014, 22:20  [ТС]     Запись в текстовый файл #3
_script_, Спасибо. Так всё просто окозалось)

Добавлено через 29 минут
_script_, Непожскажите ещё как записывать текст в текстовый файл используя fstream, чтоб она тоже вводился с консоли?
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
12.06.2014, 22:22     Запись в текстовый файл #4
Цитата Сообщение от Leonman Посмотреть сообщение
Непожскажите ещё как записывать текст в текстовый файл используя fstream, чтоб она тоже вводился с консоли?
вводить так же) только вывод так:
C++
1
2
3
ofstream fout;
fout.open("file.txt");
fout<< str;
Leonman
 Аватар для Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 266
12.06.2014, 22:30  [ТС]     Запись в текстовый файл #5
_script_, Вот мой код:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <iostream>
#include <fstream>
#include <conio.h>
#include <windows.h>
#include <vector>
#include <string>
 
using namespace std;
 
void check(double x, double y)
{
    if (x < 0)
    {
        cout << "Value can not be less than 0!" << endl;
        cout << "Type your value again: " << endl;
        cin >> y;
    }
}
 
int main()
{
    double br, stax, netto, perc, discount, oneperc, net_with_dis, forpay, with_stax, without_stax;
    vector <double> value;
    vector <string> points;
 
    cout << "Please, enter brutto price: " << endl;
    cin >> br;
    check(br, br);
 
    cout << "Now enter interest/percentage: " << endl;
    cin >> perc;
    check(perc, perc);
 
    cout << "Enter sales tax: " << endl;
    cin >> stax;
    check(stax, stax);
 
    system("cls");
 
    netto = br / stax;
    value.push_back(netto);
    points.push_back("The netto price is: ");
 
    oneperc = netto / 100;
    value.push_back(oneperc);
    points.push_back("1 percentage of netto price is: ");
 
    discount = oneperc * perc;
    value.push_back(discount);
    points.push_back("The discount is: ");
 
    net_with_dis = netto - discount;
    value.push_back(net_with_dis);
    points.push_back("Netto with discount is: ");
 
    forpay = net_with_dis * stax;
    value.push_back(forpay);
    points.push_back("Price for pay is: ");
 
    without_stax = forpay/stax;
    value.push_back(without_stax);
    points.push_back("Price without salas tax is: ");
 
    with_stax = forpay - net_with_dis;
    value.push_back(with_stax);
    points.push_back("Price with salas tax is: ");
 
    cout << "Please enter name and adress of firm: " << endl;
    ofstream f("Invoice.doc");
    char * str = new char[55];
    gets(str);
    f << str;
 
    for (int i = 0; i < points.size(); i++)
        f << points[i] << value[i] << endl;
    
    cout << "Now check file witch was created" << endl;
 
    return 0;
}
Он игнорирует
C++
1
gets(str);
и просто заканчивает программу, не дав возможности ввесли этот str.
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
12.06.2014, 22:33     Запись в текстовый файл #6
Leonman, вызови перед вводом
C++
1
cin.get();
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2014, 22:35     Запись в текстовый файл
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Leonman
 Аватар для Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 266
12.06.2014, 22:35  [ТС]     Запись в текстовый файл #7
_script_, Спасибо
Yandex
Объявления
12.06.2014, 22:35     Запись в текстовый файл
Ответ Создать тему
Опции темы

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