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

Запись в файл - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перенести в массив С те элементы массива В, которые встречаются в массиве А, удалив их и из А, и из B http://www.cyberforum.ru/cpp-beginners/thread1207126.html
Заданы массивы действительных чисел а1,а2,…,а20 и b1,b2,…,b30. Перене-сти в массив С те элементы массива В, которые встречаются в массиве А, удалив их и из массива А, и из массива В. Срочно нужно, а с массивами совершенно не дружу(((
C++ Содание динамического массива известной размерности Доброго времени суток. Возник вопрос. Возможно ли создать такой массив (аналог динамического), когда его размерность определяется в процессе работы. Скажем, его размерность зависит от количества кликов по окну и все в таком духе, т.е. пользователь не задает его размерность при запуске программы. Необходимость для графического редактора. Если есть замена массиву например TList (в borland 7) -... http://www.cyberforum.ru/cpp-beginners/thread1207109.html
C++ Запись в файл с заменой
Здравствуйте, уважаемые форумчане!!! У меня к вам вот какой вопрос: Есть программа записи данных в файл, нужно написать программу для замены записи на другую. Вот текст основной программы: int main() { setlocale(0,"rus"); // Замена записей cout<<"<Запись с заменой>"<<endl;
C++ Перемножение двоичных чисел
Добрый день!:) Возникла проблема при написании калькулятора для двоичных чисел, точнее, проблемы с умножением. Логику сего процесса вроде понимаю, но написать тяжеловато. Походу совсем блондинка:) Есть фрагмент кода: { if (l > l1) //определяем длину по наибольшему числу length = l; else
C++ Подсчет количества слов в файле http://www.cyberforum.ru/cpp-beginners/thread1207095.html
Дан текстовый файл. Определить, сколько раз каждое слово встречается в тексте. Слова выводить на экран в алфавитном порядке по 20 слов.
C++ Операторы эквивалентные оператору присваивания\условному оператору? Здравствуйте уважаемые форумчане) Есть два задания, в которых я не могу понять даже смысла, будьте добры, может кто знает в чем соль?) Записать условный оператор, который эквивалентен оператору присваивания и в котором не используются логические операции: X=A||B&&C; где все переменные - логического типа. Записать оператор присваивания, эквивалентный условному оператору: if(a>b) x=b;... подробнее

Показать сообщение отдельно
evelolka
2 / 2 / 0
Регистрация: 25.10.2013
Сообщений: 108

Запись в файл - C++

13.06.2014, 16:14. Просмотров 268. Ответов 3
Метки (Все метки)

подскажите где я косячнул при записи в файл


В общем суть такая косяк свой никак не найду .
При открытии файла всё прекрасно читается и заменяется ,но записывается 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
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
#include <iostream>
#include <fstream>
#include <cstring>
 
int main()
{
    struct lines
    {
        char line[256];
        lines*next ;
    };
    lines* head = 0 ;
    lines* curr = 0 ;
    setlocale( LC_ALL,"Russian" ) ;
    char filename[100] , findline[256] , newline[256];
    std::cout << "Введите имя файла: " ;
    std::cin.getline( filename , 100 ) ;
    std::ifstream in( filename , std::ios::in ) ;
    curr = head ;
    while( !in.eof() )
    {
        if( head == 0 )
        {
            head = new lines ;
            curr = head ;
        }
        else
        {
            curr -> next = new lines ;
            curr = curr -> next ;
        }
           in.getline( curr->line , sizeof( lines ) );
        curr -> next = 0 ;
    } ;
    in.close() ;
    curr = head ;
    while( curr != 0 )
    {
        std::cout << curr -> line << std::endl ;
        curr = curr -> next ;
    }
    std::cout << "Введите искомую строку: " ;
    std::cin.getline( findline , 256 ) ;
    curr = head ;
    while( curr -> next != 0 )
    {
        if( ( strcmp( curr->line , findline ) == 0 ) && ( curr -> next != 0 ) )
        {
            std::cout << "Введите заменяемую строку: " ;
            std::cin.getline( newline , 265 ) ;
            strcpy( curr -> line , newline ) ;
        }
        curr = curr -> next ;
    }
    curr = head ;
    while( curr != 0 )
    {
        std::cout << curr -> line << std::endl ;
        curr = curr -> next ;
    }
    std::ofstream out( filename , std::ios::out ) ;
    curr = head ;
    while( curr != 0 )
    {
        out.write( curr -> line , sizeof(  lines ) ) ;
        curr = curr -> next ;
    }
    out.close() ;
    return 0 ;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru