После считывания из файла, у меня считывается строка с символом перехода на новую строку, в итоге при попытке узнать длину строки выводит длину на 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;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть select элемент с начальным заголовком Gender нажимая на который можно выбрать male или female