Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 20.12.2014
Сообщений: 9

Удаление символа перевода строки из самого конца файла

23.06.2015, 02:23. Показов 3509. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
void SaveToFile()
{
    ofstream out;
    out.open("Directory.txt");
    Directory.Print(size, PrintEl, out);
    long pos = out.tellp();
    out.seekp(pos-1);
    out << "\0";
    out.close();
}
Доброго времени суток, наткнулся на проблему:
после записи базы в файл, я не могу считать её корректно из-за символа перевода строки, который пишется в самый конец файла
Пытаюсь его удалить сразу после записи базы
C++
1
2
3
long pos = out.tellp();
out.seekp(pos-1);
out << "\0";
Но ничего не выходит
Помогите пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.06.2015, 02:23
Ответы с готовыми решениями:

Удаление смиволов из input до определенного символа включительно с конца строки
Есть инпут ака текстовое поле, в которое вводим символы, символы могут повторяться, потому скан с конца и благо фиксированное их...

Удаление строки из файла\либо удаление самого файла.
День добрый, вот функция(используемые переменные объявленны ранее): void delete_cruise() { FILE *fout; ...

Написать программу удаления из текстового файла символов перевода строки ‘\n’ и перевода каретки ‘\r’
Здравствуйте,помогите написать программу на подобии этой,только не подсчета,а удаления.Заранее благодарен! #include &lt;stdio.h&gt; int...

6
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
23.06.2015, 03:10
Цитата Сообщение от zaki_hat Посмотреть сообщение
Но ничего не выходит
Помогите пожалуйста
Туда не ноль записывать надо а просто обрезать файл. Сомнительно правдо чтобы эта редиска под названием stl это умела. Если файл текстовый попробуй не 0 а EOF записать (0x27).
1
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
23.06.2015, 03:31
Цитата Сообщение от zaki_hat Посмотреть сообщение
после записи базы в файл, я не могу считать её корректно из-за символа перевода строки, который пишется в самый конец файла
Покажи, как и что пишешь, как читаешь.

Добавлено через 1 минуту
Цитата Сообщение от zaki_hat Посмотреть сообщение
Пытаюсь его удалить сразу после записи базы
В этом смысла нет.

Добавлено через 8 минут
Обычно, проблемы с последним чтением и '\n', решаются помещением чтения первого поля класса в параметры while()(если, конечно, текстовые методы чтения используются).
1
0 / 0 / 0
Регистрация: 20.12.2014
Сообщений: 9
23.06.2015, 03:46  [ТС]
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
попробуй не 0 а EOF записать (0x27).
Не помогает


Цитата Сообщение от lss Посмотреть сообщение
Покажи, как и что пишешь, как читаешь.
Тут много кода, ни разу не встречал столько на форуме и считаю не целесообразным его заливать
(Даже куски, в проекте всё связано)

Считываю вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void LoadFromFile()
{
    ifstream in;
    in.open("Directory.txt");
    int adress;
    while (!in.eof())
    {
        Inf *el = new Inf;
        in >> el->key;
        in >> el->name;
        in >> el->mas;
        in >> adress;
        Directory.Insert(el);
    } 
    in.close();
}
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
23.06.2015, 03:50
Считываю вот так
А записываешь как?
1
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
23.06.2015, 03:58
Лучший ответ Сообщение было отмечено zaki_hat как решение

Решение

Цитата Сообщение от zaki_hat Посмотреть сообщение
Считываю вот так
Вот так попробуй, обычно помогает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void LoadFromFile()
{
    ifstream in;
    in.open("Directory.txt");
    int adress;
    while (true)
    {
        Inf *el = new Inf;
        if (in >> el->key)
        {   
             in >> el->name;
             in >> el->mas;
             n >> adress;
             Directory.Insert(el);
        }
        else
        {
             delete el;
             break;
         }
    } 
    in.close();
}
1
0 / 0 / 0
Регистрация: 20.12.2014
Сообщений: 9
23.06.2015, 04:02  [ТС]
Цитата Сообщение от lss Посмотреть сообщение
Вот так попробуй, обычно помогает:
Да, отлично
Всё работает
Спасибо всем
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.06.2015, 04:02
Помогаю со студенческими работами здесь

Получить часть строки со второго символа с конца, до символа "\" слева
Подскажите пожалуйста, как получить часть строки со второго символа с конца, до символа \ слева строка формата:...

Поиск символа с конца строки
Здравствуйте.. Как найти символ с конца строки ? Например : предложение - просто тестовый вариант. И нужно определить...

Код символа конца файла
У каждого файла есть конец. То есть это символ, который естественно имеет свой код. Какой? Можно ли в файл поместить несколько символов...

Считывание ini файла с 1 символа до конца
Такая задачка. У меня есть .ini файлик, нужно считать с него все данные, зашифровать и ввести обратно в этот файл.(т.е. зашифровать файл). ...

Обработка символа конца строки при вводе
int main() { int n; std::cin &gt;&gt; n;//1 ввод std::cin.ignore(32767,'\n'); char *otchet = new char; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru