Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Технологии > Помощь студентам
Регистрация

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 24.06.2015, 12:26   #11
LalkaAzazalka
Пользователь
 
Регистрация: 16.04.2015
Сообщений: 11
По умолчанию

Если это сделать, то длина будет правильной для всех строк, кроме последней он же её длину правильно считает, а значит она будет не правильной
LalkaAzazalka вне форума Ответить с цитированием
Старый 24.06.2015, 12:29   #12
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,664
По умолчанию

Цитата:
Если это сделать, то длина будет правильной для всех строк, кроме последней он же её длину правильно считает, а значит она будет не правильной
Верно. Значит 1 надо отнимать от длины всех строк, кроме последней.

Элементарно, КЭП!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 24.06.2015, 12:37   #13
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
для последней строки длина подсчитывается нормально, а для остальных длина на 1 больше, так как он прибавляет \n к общей сумме, как ты писал.
А можно тупо посмотреть больше информации о функции http://www.cplusplus.com/reference/cstdio/fgets/
Почитать там что
Цитата:
A newline character makes fgets stop reading, but it is considered a valid character by the function and included in the string copied to str.
И посмотреть что будет делать и возвращать fgets в том или ином случае. Проблемы отвалятся сами сразу.
Croessmah вне форума Ответить с цитированием
Старый 24.06.2015, 12:39   #14
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,664
По умолчанию

Цитата:
А можно тупо
написать нечто вспомогательное типа:
Код:
int strlen_ex(char* s)
{
  int x = strlen(s);
  char* z = s + x;
  while ((z != s) && (*z-- < 0x20)) x--;
  return x;
}
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выводить только измененные строки. Перед каждой строкой записывать номер строки в исходном тексте.используя строки и текст.файл nero4ka C++ Builder 1 13.06.2015 08:14
Вычислить сумму элементов каждой строки матрицы A(NxM) , определить наименьшее значение этих сумм и номер соответствующей строки merilyn Помощь студентам 3 14.12.2013 11:39
Как вывести на экран номер строки с максимальной суммой элементов и номер столбца с минимальной суммой? Vetal888888 C# (си шарп) 4 20.12.2011 13:46
Прочитать и вывести на экран файл protrence Паскаль, Turbo Pascal, PascalABC.NET 16 05.03.2011 01:10
Как прочитать файл с картинкой и вывести её на экран zumm Паскаль, Turbo Pascal, PascalABC.NET 3 28.10.2009 09:31