powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Удалить последний символ- /n из конца файла
13 сообщений из 13, страница 1 из 1
Удалить последний символ- /n из конца файла
    #39218528
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такой код

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
                char From[1024];
		char To[1024];
		std::fstream G;
		G.open("100.txt", ios::in);
		while(!G.eof())
		{
		G >> From;
		G >> To;
// Выполняем операции с From и To
                }



А в конце файла G находится /n, то есть перенос на другую строку, поэтому, когда программа доходит до конца файла, она вылетает.

Как можно удалить последний символ из файла 100.txt.
При этом сам файл 100.txt может быть большого размера, поэтому копирование в другой файл крайне нежелательно.

Или как-ннибудь сделать проверку From и To, на отсутствие /n в конце, или же, чтов в этих переменных первым символом идёт печатный символ.

Как будет лучше сделать?
...
Рейтинг: 0 / 0
Удалить последний символ- /n из конца файла
    #39218530
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема в том, что в конце From и To не может стоять /n, в моём случае.
...
Рейтинг: 0 / 0
Удалить последний символ- /n из конца файла
    #39218531
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465она вылетает.
Вот откуда она вылетает, то место и чини. Нефиг костылями баловаться.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Удалить последний символ- /n из конца файла
    #39218535
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я-бы предложил обсудить другое. Как добавить символ \n. Более полезное ИМХО дело для Linux конфигов.
Но у автора эта задачка еще впереди.
...
Рейтинг: 0 / 0
Удалить последний символ- /n из конца файла
    #39218553
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовал поставить исключение, всё равно вылетает.
...
Рейтинг: 0 / 0
Удалить последний символ- /n из конца файла
    #39218572
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465, да-да это печально брат. Исключения бывают такие. Как пули летают.

По сабжу.... может код покажешь.
...
Рейтинг: 0 / 0
Удалить последний символ- /n из конца файла
    #39218690
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465Как будет лучше сделать?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
#include <iostream>
#include <fstream>
#include <string>

int main() {
    std::ifstream G("100.txt", std::ios::in);
    std::string line;                       // забудьте про char[]
    while(std::getline(G, line)) {          // функция getline() автоматом обрубает \r и \n в конце строки
        if (! line.empty()) {               // если строка не пустая
             std::cout << line << ";";      // здесь обрабатываем
        }
    }   
    return 0;
}
...
Рейтинг: 0 / 0
Удалить последний символ- /n из конца файла
    #39218993
Доктар123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ukugyul552465Как можно удалить последний символ из файла 100.txt.
При этом сам файл 100.txt может быть большого размера, поэтому копирование в другой файл крайне нежелательно.

Или как-ннибудь сделать проверку From и To, на отсутствие /n в конце, или же, чтов в этих переменных первым символом идёт печатный символ.

Как будет лучше сделать?


Прочитать последний байт
и при необходимости
укороить файл на 1 байт
...
Рейтинг: 0 / 0
Удалить последний символ- /n из конца файла
    #39220749
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465, подправлять текстовый файл, потому что нам неудобно его parse-ить, -- плохая идея. А если файл read-only? (на компакт-диске, например) А если несколько процессов одновременно parse-ят один и тот же файл?

ukugyul552465Как будет лучше сделать?Приведите простой пример, что надо parse-ить, и какой должен быть результат. Тогда посоветуют что-нибудь конкретное.
...
Рейтинг: 0 / 0
Удалить последний символ- /n из конца файла
    #39221029
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На всякий случай я воспроизвожу пожелание автора. Подзабыли мать его пятак...

При этом сам файл 100.txt может быть большого размера, поэтому копирование в другой файл крайне нежелательно.
...
Рейтинг: 0 / 0
Удалить последний символ- /n из конца файла
    #39221404
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблему решил.
Переписал пару функций с использованием char на string, сделал проверку при чтении из файла.
...
Рейтинг: 0 / 0
Удалить последний символ- /n из конца файла
    #39221428
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465, дык... без сорца - не вариант. Не верим! Требуем пруфа.
...
Рейтинг: 0 / 0
Удалить последний символ- /n из конца файла
    #39222804
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так суть в том, что последний символ '/n' остался, просто теперь он не вызывает вылета программы, так как встроена проверка на этот случай.
А с char такое дело не прокатывало.
А вообще идёт считывание из файла циклом, в две переменные string(каждый проход - перезапись), которые раньше были char.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Удалить последний символ- /n из конца файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]