Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2009, 18:48   #1
Rustik2
Пользователь
 
Регистрация: 08.10.2009
Сообщений: 14
По умолчанию Как игнорироть последний символ переход на новую строку

Всем добрый вечер.
У меня такая проблема. Моя программа считывает данные с txt файла который постоянно обновляется новыми данными. Но считывает она не так как хотелось бы. Когда в txt файл добавляются новые данные то в конце всегда ставится переход на новую строку т.е получается в конце пустая строка, которую моя программа всегда считывает, можно ли написать код программы так чтобы она не считывала последний символ(переход на новую строку) а то у меня программа считывает так что между данными остается пустая строка. Хотя когда я открываю txt файл с которой я считываю данные ,там нет пустых строк
Rustik2 вне форума Ответить с цитированием
Старый 08.11.2009, 19:19   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

ищите в вашей строке (визуально не увидите) символ перевода строки и возврат каретки #10 #13
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 08.11.2009, 21:07   #3
Rustik2
Пользователь
 
Регистрация: 08.10.2009
Сообщений: 14
По умолчанию

а чего? че-то я непонял?
Rustik2 вне форума Ответить с цитированием
Старый 08.11.2009, 21:12   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
можно ли написать код программы так чтобы она не считывала последний символ(переход на новую строку)
ваш код считывания в студию
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 08.11.2009, 21:55   #5
Rustik2
Пользователь
 
Регистрация: 08.10.2009
Сообщений: 14
По умолчанию

вот что я имею:

Код:
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h> 
#include <ios> 
using namespace std;

void main (void)
{
	setlocale(LC_ALL, "Russian");
	ifstream file("1.txt");
	string str;
	int size1 = 0;
	int size2 = 0;
	while(!file.eof())
	{ 
		file >> str;
		cout << str << endl ;
	}
	while(1)
	{
		size1 = 0;
		file.clear(); 
		file.seekg(0, ios::end);
		size1 = file.tellg();	
		Sleep(1);
		size2 =0 ;
		file.clear();
		file.seekg(0, ios::end);	
		size2 = file.tellg();	
		if (size1 != size2)
			{
				file.clear();
				file.seekg(size1);
			while (! file.eof())
				{	
				file >> str;
				cout << str << endl;
				
				}
			}
	}
	file.close();
}
Rustik2 вне форума Ответить с цитированием
Старый 08.11.2009, 22:05   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

если строка извне всегда добавляется, то просто не считывайте весь файл, а считывайте на 1 строку меньше
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 08.11.2009, 22:13   #7
Rustik2
Пользователь
 
Регистрация: 08.10.2009
Сообщений: 14
По умолчанию

а как это реализовать? у меня же программа считывает данные по байтам а не по строкам программа просто не знает где последняя строка
а строки у меня бывают разных размеров.
Rustik2 вне форума Ответить с цитированием
Старый 08.11.2009, 22:28   #8
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Если цикл переписать так, то пустая строка останется?
Код:
	while(true)
	{ 
		file >> str;
		if (file.eof()) break;
		cout << str << endl ;
	}
pu4koff вне форума Ответить с цитированием
Старый 08.11.2009, 22:45   #9
Rustik2
Пользователь
 
Регистрация: 08.10.2009
Сообщений: 14
По умолчанию

pu4koff спасибо вроде получилось

ча еще протестирую

Последний раз редактировалось Sazary; 10.11.2009 в 02:13.
Rustik2 вне форума Ответить с цитированием
Старый 08.11.2009, 22:54   #10
Rustik2
Пользователь
 
Регистрация: 08.10.2009
Сообщений: 14
По умолчанию

pu4koff ты просто гений все работает!! а у тя есть почтовый ящик?
Rustik2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переход на новую строку в Memo Лонли-Локли Компоненты Delphi 12 08.01.2021 05:00
Переход на новую строку delphin100 Общие вопросы Delphi 9 31.05.2012 04:52
Переход на новую строку после пробела nolz Общие вопросы Delphi 7 31.08.2009 19:33
Переход на новую строку в Memo1 )Игнат( Общие вопросы Delphi 2 07.07.2009 20:31
Переход на новую строку код13 Ecosasha Общие вопросы C/C++ 12 11.06.2009 18:31