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

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

Войти
Регистрация
Восстановить пароль
 
fitochay
14 / 14 / 0
Регистрация: 14.03.2015
Сообщений: 105
#1

Запись в файл. Все в одну строку - C++

11.06.2015, 22:47. Просмотров 374. Ответов 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
31
void CreateDictionary(char *file_name)
{
    ofstream file_in(file_name);
    file_in.close();
}
void WriteInTheFile(fstream &file_in)
{
    file_in.seekg(0,file_in.end);
    char str[64];
    cin >> str;
    file_in.write(str,GetTheWordSize(str));
}
void SecondFunct()
{
    fstream file_in; file_in.open("dictionary", ios::in | ios::out);
    if (!(file_in.is_open()))
        CreateDictionary("dictionary");
    int k(1);
    while (k == 1){
        GetList(file_in);
        cout << "\nWrite the new word in the file?"<< endl<< "1 - yes; 2 - no;"<<endl;
        cin >> k;
        switch (k) {
            case 1 : {
                WriteInTheFile(file_in);
                break;
            }
        }
    }
    file_in.close();
}
Проблема в том, что в файл запись есть, но записывает слова просто подряд. Как сделать запись каждый раз с новой строки?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2015, 22:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запись в файл. Все в одну строку (C++):

Запись нескольких слов в одну строку - C++
Подскажите, пожалуйста, как записать несколько слов в одну строку....мне необходимо, чтобы высчитывалось количество гласных букв в каждом...

Есть ли функция, читающая файл целиком и записывающая его в одну строку? - C++
Подскажите есть ли функция читающая файл целиком и записывающая его в одну стрингу и чтобы все символы такие как \n \t также записывались?...

Вывести на экран в одну строку все элементы побочной диагонали квадратного массива - C++
Вывести на экран (в одну строку): а) все элементы побочной диагонали квадратного массива, начиная с элемента, расположенного в правом...

Считывание бинарных значений из реестра и запись их в одну строку - C++
//9.Функция для считывание бинарных значений из реестра и передачи значения в виде одной строки через пробел (передать переменные с путем и...

Вывести в одну строку все элементы главной диагонали матрицы, начиная с правого нижнего угла - C++
Помогите написать программу в Borland C++. Вывести на экран (в одну строку) все элементы главной диагонали массива начиная с элемента,...

Даны текстовый файл и строка s. Получите все строки файла f, содержащие в качестве фрагмента заданную строку s - C++
Даны текстовый файл и строка s. Получите все строки файла f, содержащие в качестве фрагмента заданную строку s Помогите плиз Нашел...

6
san92der
14 / 14 / 3
Регистрация: 27.10.2012
Сообщений: 109
11.06.2015, 23:02 #2
добавлять в конце каждого слова '\n'?
0
lss
921 / 850 / 281
Регистрация: 10.10.2012
Сообщений: 2,701
12.06.2015, 01:19 #3
Цитата Сообщение от fitochay Посмотреть сообщение
Проблема в том, что в файл запись есть, но записывает слова просто подряд. Как сделать запись каждый раз с новой строки?
В файле нет строк, строки есть в текстовом редакторе, в котором ты открываешь файл. Если используешь бинарные методы записи\чтения, то зачем тебе строки? Если записывешь в файл текст, и нужно видеть в текстовом редакторе строки, то зачем бинарные методы?
0
fitochay
14 / 14 / 0
Регистрация: 14.03.2015
Сообщений: 105
12.06.2015, 10:35  [ТС] #4
Я хочу, чтобы между словами были какие-то разделители, чтобы я мог считывать по одному слову и выводить по одному слову на строку. Как это будет выглядеть в файле меня не особо волнует.
0
nmcf
5520 / 4830 / 1636
Регистрация: 14.04.2014
Сообщений: 19,608
12.06.2015, 11:26 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Зачем там write()? Так записывай:
C++
1
file_in << str << endl;
0
fitochay
14 / 14 / 0
Регистрация: 14.03.2015
Сообщений: 105
12.06.2015, 13:50  [ТС] #6
пробовал. не записывает вообще

Добавлено через 30 минут
Эм. Прошу прощения. Мой косяк xD Все работает. Спасибо
0
lss
921 / 850 / 281
Регистрация: 10.10.2012
Сообщений: 2,701
12.06.2015, 15:14 #7
Цитата Сообщение от fitochay Посмотреть сообщение
Я хочу, чтобы между словами были какие-то разделители, чтобы я мог считывать по одному слову и выводить по одному слову на строку. Как это будет выглядеть в файле меня не особо волнует.
При записи/чтении бинарными методами разделители не нужны.
Вот так записал строку:
C++
1
2
3
4
5
6
7
void WriteInTheFile(fstream &file_in)
{
    file_in.seekg(0,file_in.end);
    char str[64];
    cin >> str;
    file_in.write(str, sizeof(str));
}
Вот так прочитал:
C++
1
2
3
4
5
6
void ReadFromFile(fstream &file)
{
    char str[64];
    file.read(str, sizeof(str));
    cout << str << ednl;
}
Такие строки можно перезаписывать в файе, если же использовать текстовые методы, то перезапись возможна только если новая строка, по длине, равна старой.
0
12.06.2015, 15:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2015, 15:14
Привет! Вот еще темы с ответами:

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

Записует только одну букву в файл текс в файл - C++
Программа должна открывать один файл и содержимое его записать в другой файл . Вот код программы: #include &lt;iostream&gt; #include...

Написать программу, которая вводит с клавиатуры строку не более 100 символов, еще одну строку не более 50 символов и выводит на экран позиции вхождени - C++
Задание: Написать программу, которая вводит с клавиатуры строку не более 100 символов, еще одну строку не более 50 символов и выводит на...

Вывод в одну строку - C++
Добрый день! Господа, помогите новичку! Есть вот такой код: #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;vector&gt; ...


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

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

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