Тема: Друк к-сті символів у файлі (txt)
Доброго вечора! У мене таке завдання було: Написати програму, яка зчитує текст із файлу (кілька пропозицій) та виводить його на екран. Після кожного речення друкується кількість символів у ньому.
Написала код, але некоректно виводиться кількість символів у рядку, а також взагалі зникає напис.
Ось код.
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
#define max 150
int main ()
{
setlocale(LC_ALL, "uk_UA.UTF-8");
SetConsoleCP(1251);
SetConsoleOutputCP(CP_UTF8); //
FILE * fp;
char words[max];
fp = fopen("C:\\Users\\Аня\\Documents\\textt.txt", "r");
if (fp == NULL)
{
printf("\n\tПомилка відкриття файлу\n");
exit(1);
}
while (fgets(words, max, fp) != NULL)
{
printf("%s", words);
printf("Кількість символів у рядку: %d\n", strlen(words));
}
fclose(fp);
return 0;
}
fp = fopen("C:\\Users\\Аня\\Documents\\textt.txt", "r"); - Тут даю повноцінний шлях до файлу, який створила, бо інакше компілятор не бачить.
printf("Кількість символів у рядку: %d\n", strlen(words)); - "Кількість символів у рядку" взагалі зникає при компіляції, але саме число виводиться (невірно, додає приблизно 10-15 символів, тобто, якщо речення "Привіт", то воно напише не 6 символів, а 16-20).
Поясніть будь-ласка, у чому може бути справа? Невірно щось задане через консоль? Права на читання файлів .txt у мене є, усе нібито робе, сам текст файлу виводиться, а printf("Кількість символів у рядку: %d\n", strlen(words)); - Ні