0 / 0 / 0
Регистрация: 14.01.2015
Сообщений: 16
1

Как работает программа? В чем суть функции fgets?

22.10.2015, 21:35. Показов 834. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
#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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2015, 21:35
Ответы с готовыми решениями:

При использовании функции fgets () и вводе абсолютно правильного имени файла программа не может открыть файл
Прошу прощение за беспокойство и за глупый вопрос, но вoобщем проблема такая: Программа...

Как работает функция fgets()?
Здравствуйте, такая проблема пытаюсь разобрать как работает функция fgets() как я понимаю она...

Обьясните как работает fgets()
&lt;?php ## Извлечение строки со случайным номером. $ourFile = fopen(&quot;index.php&quot;, &quot;r&quot;); // ето...

Как в int* var хранить массивы? В чем суть задания?
Всем добрый день :). В задании говорится: &quot;Создайте класс контейнера для целых чисел&quot;. Далее...

1
7784 / 6553 / 2982
Регистрация: 14.04.2014
Сообщений: 28,615
22.10.2015, 21:43 2
120 - это ограничение. Не более 119 полезных символов в пределах одной строки.
0
22.10.2015, 21:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.10.2015, 21:43
Помогаю со студенческими работами здесь

не пойму в чем дело, программа должна работать, но она черт побери не работает :( (программа по работе с реестром)
Программа предназначена для поиска какого-нить слова по реестру и удаления ключа или раздела если в...

Не работает fgets
Код еще не написан, но появилась какая-то проблема...ЧТо я делаю не так? #include &lt;stdio.h&gt;...

не корректно работает fgets()
здравствуйте, пишу код для удаления строки из файла(файл c именем fname с данными), проблема с...

Прокомментируйте ,как работает программа. Что конкретно выполняют функции
В строке найти числа в десятичной системе счисления, сформировать новую строку, в которой заменить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru