Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Сортировка в файле
Показать сообщение отдельно

Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


Перенос строки в текстовых файлах осуществляется
либо последовательностью \x0d\x0a
либо \x0a

См. # 2 в этой теме
Посимвольно просматриваешь t в цикле и сравниваешь с \x0a (if (t[i]=='\x0a') ;. Если встретили значит произошел перенос строки. Чтобы точно убедиться в переносе считываем и проверяем предыдущий символ if (t[i-1]=='\x0d') Если это \x0d то у нас совершенно точно перенос строки и мы увеличиваем счетчик строк.Чтобы пометить что мы в 10 строке, можно завести булевую переменную и присвоить ей значение 1. При старте инициализируем ее нулем. Обнуляем переменную cnt2 и продолжаем считывать символы. Если
bool==1 && cnt2==3 то у нас 3 символ 10 строки

Код: Выделить весь код
counter=0;
booll=0;
....
for (int i=0;i<N;i++)
{
if (t[i]=='\x0a')
if (t[i-1]=='\x0d')
counter++,cnt2=-1;
if (counter==10)
{
booll=1; //10 строка
cnt2++;
}

if (booll==1 && cnt2==3)
{3 символ 10 строки}

....
}

-------
Ehhh.. what's up, doc?..

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:06, 10-07-2008 | #10

Название темы: Сортировка в файле