Страница 1 из 1

Считывание маленьких слов из файла

Добавлено: 13 май 2016, 00:04
djeak11
Надо было составить программу чтобы считывала текст из файла и выводила количество маленьких (4-8 символов) слов во всех строках текста

Код: Выделить всё

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
using namespace std;

int main(int argc, _TCHAR* argv[])
{
FILE *text;
char *filename = "C:\\Myfile.txt";
char buf[101] = "";
char commentStr[101] = "";

if (!(fopen_s(&text, filename, "r")))
{
while (fgets(buf, 100 , text))

printf_s("%s", buf);


char* pmin = NULL;
size_t pminlen = 0;

char* head;
char* tail;

while (*tail)
{
for (head = tail; *head && !isalnum(*head); ++head) { ; }

for (tail = head; *tail && isalnum(*tail); ++tail) { ; }

if (head < tail)
{
if ((pmin == NULL) || (pminlen > tail - head));
{
pmin = head;
pminlen = tail - head;
}
}
}
if (pmin)
{
printf("\n");
printf("min = %.*s\n", pminlen, pmin);
}

system("pause");

return 0;
}
ничего не выдает в чем ошибка ( как мне кажется их тут дофига)

Re: Считывание маленьких слов из файла

Добавлено: 13 май 2016, 01:59
Romeo
Только начал разбирать и тут же бросилось в глаза, что в самом начале в head попадает значение tail, но tail при этом никак не инициализирован. Грубая ошибка, которой достаточно чтобы всё не работало. Дальше даже не стал разбирать.

Очень рекомендую освоить дебагер. В студии достаточно нажать F10 и программа запустится в режиме отладки. После последующих нажатий F10 будет выполняться строчка за строчкой. На каждом шаге ты сможешь просмотреть все значения переменных и понять, что не так.