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

Работа с файлами. Как добавить переход на новую строку при записи? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка оператора присваивания http://www.cyberforum.ru/cpp-beginners/thread1212410.html
Вот есть такой класс template<typename TT> class Matrix { public: //====================================================================================================== Matrix<TT>(int...
C++ Как создать структуру-список, поля которой — ссылка на такую же структуру Суть вопроса в том, как создать структуру-список, поля которой - ссылка на сл. элемент(такую же структуру) и ссылка на объект, относящийся к любому из классов. Проще говоря - список из объектов,... http://www.cyberforum.ru/cpp-beginners/thread1212403.html
Правильно ли я реализовываю класс длинной арифметики? C++
class LongLong { private: char * longNumber; int _size; public: LongLong(const char *number = NULL); LongLong(unsigned int); friend LongLong operator +(const LongLong &, const LongLong &);
Структура "Массив" C++
Определить количество каждой цифры в числе ( массив из трех чисел) . Нужно использовать структуру для сохранения элемента массива и количества разных чисел в нем. К сожалению в структурах я ничего не...
C++ Определить скалярное произведение строки и столбца, где расположен максимальный "особый" элемент http://www.cyberforum.ru/cpp-beginners/thread1212359.html
Дан двумерный массив А(N,N) натуральных чисел. Элемент A(I,J) назовем особым, если оно является палиндромом, то есть одинаково читается слева - направо и наоборот. Определить скалярное...
C++ Создание консоли подскажите код: менюшка: 1. вывести на экран 2. сделать тото. 3. выйти вопрос - как это реализуется в коде? чтоб меню появилось сразу, потом человек набрал пункт 1 и вывелось на экран то что... подробнее

Показать сообщение отдельно
Doctor Nano
Cандальная шляпа
42 / 42 / 10
Регистрация: 12.01.2012
Сообщений: 185

Работа с файлами. Как добавить переход на новую строку при записи? - C++

19.06.2014, 17:08. Просмотров 729. Ответов 4
Метки (Все метки)

Задача такая, дан текстовый файл (с информацией о людях Фамилия Имя Отчество) и надо создать второй файл с записями вида «Фамилия И.О.», например, «Иванов В.С.».
Вопрос, моя программа делает то что нужно, а как так сделать чтобы в другой файл записывалось Фамилия И.О. с новой строки? Или не правильно сделал прогарамму?
Текстовый файл
Каверников Михаил Александрович
Иванов Павел Андреевич
Иванов Виктор Сергеевич

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
#include <conio.h>
#include <stdio.h>
#include <locale.h>
#include <string.h>
int main()
 
{
    setlocale(LC_ALL,"russian");
    char str[255+1];
    char data1[]="data1.txt";
    char data2[]="data2.txt";
    FILE *fid, *fid2;
    errno_t err;
    if((fopen_s(&fid,"data1.txt","r"))||
        (err=fopen_s(&fid2,"data2.txt","w"))!=0)
    {
        printf("\n\t Файл не может быть открыт.\n");
        printf("\n Нажмите любую клавишу:");
        _getch();
        return -1;
    }
    while(fgets(str,255,fid)!=NULL)
    {
        int j=-1,k=0;
        for(int i=0;i<strlen(str);i++)
            if(str[i]==' ')str[i+2]='.';
 
        for(int i=0;i<strlen(str);i++)
        {
                if(str[i]!='.' && k<2)str[++j]=str[i];
                else
                {
                    k++;
                    str[++j]=str[i];
                }
 
                if(k==1)
                {
                    for(int l=i;l<strlen(str);l++)
                        if(str[l]==' '){i=l;break;}
                }
                if(k==2 && i<strlen(str)-2)str[++j]=NULL;
 
        }
 
        fputs(str,fid2);
    }
 
    fclose(fid);
    fclose(fid2);
    printf("\n Работа закончена. Нажмите любую клавишу:");
    _getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru