0 / 0 / 0
Регистрация: 14.01.2015
Сообщений: 16
|
|
1 | |
Как работает программа? В чем суть функции fgets?22.10.2015, 21:35. Показов 836. Ответов 1
Метки нет (Все метки)
#include <iostream>
#include <stdio.h> int main(int argc, char** argv) //кол-во аргументов, указатель на массив указателей на сами аргументы. { setlocale(LC_ALL, "Russian"); printf(" Имя файла \n"); printf("%s \n", argv[1]); printf(" ------------- \n\n"); // Длина строки максимальная int sz_line = 120; char s1[120]; char s2[120]; char* flname = argv[1]; //Имя задается первый параметром? FILE*fp = fopen(flname, "r"); if (fp == NULL) //Если файл пуст { printf(" Нет файла с таким именем %s'", flname); return 0; } int flow_line = sz_line; //Миним как 120 int max_line = 0; int i = 0; int j = 0; char c1; //? while (fgets(s1, sz_line, fp)) //будет прочитано 120 символов? В чем соль работы функции? { j = 0; while (true) //Считает длину текущей строки и записывает в j?? { c1 = s1[j]; if (c1 == '\n') break; j++; }; // Запоминаем текущую строку , если она меньше ранее запомненной // как минимальная if (flow_line >= j && j != 0) { flow_line = j; max_line = i; for (int k = 0; k <= j; k++) s2[k] = s1[k]; //k - кол-во символов в строке? }; i++; }; fclose(fp); printf(" Номер и длина минимальной строки \n"); printf("%d %d \n", max_line, flow_line); for (int k = flow_line; k <= sz_line + 2; k++) s2[k] = ' '; printf(" Самая короткая строка \n"); printf("%s", s2); printf(" \n"); printf(" Press any key ... \n "); getchar(); return 0; }
0
|
22.10.2015, 21:35 | |
Ответы с готовыми решениями:
1
При использовании функции fgets () и вводе абсолютно правильного имени файла программа не может открыть файл Как работает функция fgets()? Обьясните как работает fgets() Как в int* var хранить массивы? В чем суть задания? |
7795 / 6561 / 2985
Регистрация: 14.04.2014
Сообщений: 28,683
|
|
22.10.2015, 21:43 | 2 |
120 - это ограничение. Не более 119 полезных символов в пределах одной строки.
0
|
22.10.2015, 21:43 | |
22.10.2015, 21:43 | |
Помогаю со студенческими работами здесь
2
не пойму в чем дело, программа должна работать, но она черт побери не работает :( (программа по работе с реестром) Не работает fgets не корректно работает fgets() Прокомментируйте ,как работает программа. Что конкретно выполняют функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |