Прочитать текст из файла и вывести наибольшее слово - C (СИ)
Формулировка задачи:
Программа читает текст и выводит наибольшее слово. Используйте функции strcmp(), strcpy().
как работает функция strcpy()?
Решение задачи: «Прочитать текст из файла и вывести наибольшее слово»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
int len_desc_cmp(const void * a, const void * b){
return strlen(*(char**)b) - strlen(*(char**)a);
}
#define DELIM " \t\n"
#define MAX_WORDS 128
int main(void){
char buf[BUFSIZ];
while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ){
char * words[MAX_WORDS], * p;
size_t count, i;
for ( count = 0, p = strtok(buf, DELIM); p != NULL && count < MAX_WORDS; p = strtok(NULL, DELIM), ++count )
words[count] = p;
qsort(words, count, sizeof(char*), len_desc_cmp);
printf("Words by length descendant:\n");
for ( i = 0; i < count; ++i )
printf("%s\n", words[i]);
}
return 0;
}