После считывания из файла, у меня считывается строка с символом перехода на новую строку, в итоге при попытке узнать длину строки выводит длину на 1 символ больше чем нужно. Как сделать так что бы символ перехода на новую строку не считывался?
int main() {
int i = 0;
while(fgets(str[i], 100, ptr) != NULL) {
arr[i] = strlen(str[i])-1;
cout << arr[i]<< endl;
i++;
}
_getch();
}
Он все равно обязан быть считан :) - иначе вы следующим чтением получите пустую строку, нет? :)
Словом, есть стандартная библиотека, и стандарт работы функций. И в рамках этого стандарта приходится работать. Если использовать FILE в С++ - то я бы на вашем месте просто делал что-то типа
int len = strlen(str[i]);
if (str[len-1]=='\n') str[--len] = 0; // Проверка нужна - строка может быть слишком длинной
arr[i] = len;
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости