0 / 0 / 0
Регистрация: 12.12.2008
Сообщений: 26
|
||||||
1 | ||||||
Работа со строками11.12.2008, 17:20. Показов 5386. Ответов 37
Метки нет (Все метки)
Товарищи, такая вот проблема. Есть задача. Прочитать строки из файла, а потом записать их следующим образом. Первую оставить, вторую -удалить, на месте её - пустая строка. Третью - оставить, на месте следующих двух - две пустые строки. Шестую - оставить, затем три пустые строки.
При этом все, даже пустые, строки должны быть пронумированы. Сам написал такой вот бред, но думаю можно проще и правильнее.
0
|
11.12.2008, 17:20 | |
Ответы с готовыми решениями:
37
Работа со строками. Функции работы со строками Работа со строками, заполнить компоненты строками из файла Работа со строками(операции над строками) Задание по темам: ООП, исключения, работа со строками (возможно применение коллекций List), работа с компоновщиком |
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
11.12.2008, 20:00 | 2 | |||||
0
|
0 / 0 / 0
Регистрация: 12.12.2008
Сообщений: 26
|
|
12.12.2008, 03:27 [ТС] | 3 |
Спс. Еще один вопрос - это можно реализовать через класс? (Чтобы файловая переменная принадлежала к классу и была типа Private)
0
|
0 / 0 / 0
Регистрация: 12.12.2008
Сообщений: 26
|
|
12.12.2008, 04:55 [ТС] | 5 |
Про сифайл слышал. Тут дело в другом, надо создать свой собственный класс(пусть будет class1), в котором обьявить файловую переменную(в данном случае это fp) типа private. И чтобы в коде мейна она уже фигурировала как class1.fp. Такое вот задание препод дал.
И еще один вопрос, по коду, который дал accept. Файл он открывает и в консоли записывает все правильно, но вот обратно в файл не записывает. Можете с этим помочь?
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
12.12.2008, 07:58 | 6 | |||||
классы это уже цпп, я пока с сишником
1
|
22 / 21 / 6
Регистрация: 03.12.2008
Сообщений: 85
|
||||||||||||||||
12.12.2008, 10:08 | 7 | |||||||||||||||
ну если препод так хочет, то можно показать ему следующее
только не совсем понятно, что он подразумевает под "переменной типа файл". если структуру FILE .. то возникает другой вопрос - на кой черт огород городить, если все и так огорожено.
1
|
0 / 0 / 0
Регистрация: 12.12.2008
Сообщений: 26
|
|
12.12.2008, 16:04 [ТС] | 8 |
Ага, то есть переменные private доступны только для функции, обьявленной в этом же классе? Ногами просьба не бить, просто мы си проходим только месяц, а на допуск к экзамену сказал эту прогу сделать, просто беда(
Так а может в классе обьявить как привейт непосредственно файловую переменную и как паблик функцию, в описание которой запихать потом код, данный acceptom? Так получится? Accept, небольшая просьба. Можешь сделать комментарии к твоему коду, хотя бы примерные. А то я в нем две трети операторов не знаю, а преподу надо что то сказать)
0
|
22 / 21 / 6
Регистрация: 03.12.2008
Сообщений: 85
|
|
12.12.2008, 17:10 | 9 |
Именно так, приват для того и сделан чтобы функции - не члены класса не имели доступ к этим переменным. Пересадить функции accept'а в класс еще как получится, именно так и надо сделать дабы угодить вашему преподу. Попробуйте сами, компилятора нет под рукой, да и пользительно будет_)
0
|
0 / 0 / 0
Регистрация: 12.12.2008
Сообщений: 26
|
||||||
12.12.2008, 17:45 [ТС] | 10 | |||||
Вот хочу пойти наиболее простым путем и в классе обьявить лишь функцию filecopy, как паблик, и переменную ifp, как привейт. Преподу пофиг, что именно сделал в классе, главное чтоб файлофая переменная там была, и к ней ты потом образался.
При компиляции данного кода ошибок не выдает, лишь одно предупреждение
0
|
22 / 21 / 6
Регистрация: 03.12.2008
Сообщений: 85
|
||||||
12.12.2008, 20:54 | 11 | |||||
вот смотри. у тебя функция filecopy является членом класса cl, стало быть она уже имеет ссылку на один объект этого класса, для которого функция вызывается. и в качестве параметра она по идее должна бы получать объект того же класса. Полшага до переопрееления операторов, так сказать. думаю с этим вы еще столкнетесь.
У вас же получается что функция хоть и является методом класса, но к приватной его части никак не обращаяется. И уж если городить огород, то надо бы прописать конструктор, функции о которых я упоминал выше, и работать уже с объектами вашего класса, а не со стандартными структурами FILE Добавлено через 41 минуту 15 секунд в функции accept, есть неточность. ибо не j++ а j=1. ну и вот что в итоге
1
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
12.12.2008, 23:20 | 12 | |||||
и программу закинуть в такой каталог можно - моя сработает а твоя завалится Добавлено через 4 минуты 6 секунд и ещё там может лежать файл temp.txt в котором уже может быть что-то важное (от другой программы например твоей же такой же) Добавлено через 1 минуту 14 секунд так что сначала у себя в голове ошибки исправь Добавлено через 11 минут 18 секунд
1
|
22 / 21 / 6
Регистрация: 03.12.2008
Сообщений: 85
|
||||||
13.12.2008, 00:08 | 13 | |||||
оххо. сколько агрессии. accept, давай пиписьками меряться не будем, а? Я всего лишь хотел помочь автору. Ошибки в j++ действительно нет, ошибка тут:
Автору удачи.
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
13.12.2008, 01:40 | 14 |
\r перед \n пусть добавит и то, если потребуется Добавлено через 52 минуты 43 секунды я нашёл причину, перешёл в виндовс и скомпилировал в bc3.1, не работает даже консоль но у меня есть lcc и я написал код в соответствии стандарту ANSI (это 89 год), потому когда я применил lcc для компиляции, сработала как и консоль так и запись в файл и даже без \r а в bc3.1 не сработала вообще конструкция ?: потому тебе кажется что там ошибка
0
|
0 / 0 / 0
Регистрация: 12.12.2008
Сообщений: 26
|
||||||
13.12.2008, 03:45 [ТС] | 15 | |||||
FOLKEN, вот в твоем коде заменил фнейм и тнейм на имя файла 1.тхт, лежащего у меня в папке проекта.
Кстати функция файлкопи у тебя описана, но в мейне не вызывается. Так и должно быть?
0
|
22 / 21 / 6
Регистрация: 03.12.2008
Сообщений: 85
|
||||||
13.12.2008, 04:20 | 16 | |||||
вместо j=1 надо j++, accept тут совершенно прав. И посмотри на свой код. ты открываешь файл 1.txt а пишешь в temp.txt
filecopy как-то и не особо нужна оказалась. Если обязательно нужно ее использовать - бери пример accept'a, если нужен пример с классами - можешь взять вот это (теперь точно все работает как надо)
1
|
0 / 0 / 0
Регистрация: 12.12.2008
Сообщений: 26
|
||||||
13.12.2008, 09:01 [ТС] | 17 | |||||
Спс, это пример работает.
Остались два небольших вопроса. В файле, в который прога записывает результат, после строк, которые остаются(1,3,6 и т.д) печатаются три пустых прямоугольника(непечатных символа). Это как нибудь решается? И еще, можно сделать так, чтобы прога выдавала результат в тот же файл, из которого брала исходные строки, или можно только в новый? Так, первый вопрос решил сам просто убрал из этой строки /n.
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
13.12.2008, 12:18 | 18 |
качайте нормальный компилятор (по стандарту он должен читать из файла перенос строки какой бы он ни был и переводить его в \n, а \n при выводе переводить в перевод строки родной для системы, даже если он двойной)
http://www.q-software-solution... cwin32.exe очень интересно это после супер-кода temp.txt остаётся на диске ? Код
"%03d: %s\n", nl, line); а так это и не ты сделал, это опять FOLKEN FOLKEN не трогай мой код, ты не шаришь, ты какого хера темповый файл заменил на свой ? который в итоге как мусор болтается после работы проги и возврат каретки можно не делать, т.к. это получается лишнее действие (ненужное то есть)
0
|
22 / 21 / 6
Регистрация: 03.12.2008
Сообщений: 85
|
|
13.12.2008, 12:56 | 19 |
Автор, юзай вышеописанную filecopy.
accept, с вами разговор окончен, всего хорошего
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
13.12.2008, 13:17 | 20 | |||||
lcc не компилит с++
борланд не может скомпилить
мой код работает без изменений классы туда встроить можно легко поищи кого-нибудь более продвинутого, FOLKEN добавляет ошибки а потом будет говорить это не мой код это код accepta от тебя требовалось то прикрутить классы без изменений кода, а ты даже с этим не справился учи стандарты а не компиляторы с conio и прочей фигнёй
0
|
13.12.2008, 13:17 | |
13.12.2008, 13:17 | |
Помогаю со студенческими работами здесь
20
Работа со строками Работа со строками Работа со строками Работа со строками Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |