Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ksan
27 / 27 / 0
Регистрация: 02.11.2010
Сообщений: 370
#1

Объясните смысл строк в коде (~20 строк) - C++

03.11.2010, 09:38. Просмотров 497. Ответов 9
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
int main() 
{ 
char text[100]; 
FILE *f = fopen("tekt.txt", "r"); 
int i=0; 
char ch;
// объясните действие каждой строки после этих комментов и до //------------
while((ch = getc(f)) != EOF) {
text[i++]=ch; 
text[i] = '\0';
//-------------
} 
printf(text);
fclose(f);
int iz;
cin >> iz;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2010, 09:38     Объясните смысл строк в коде (~20 строк)
Посмотрите здесь:

Объясните значение трёх строк в коде - C++
DWORD* vtablePtr; //вот здесь, знак '*' обозначает, что это указатель? vtablePtr = (PDWORD)(*((PDWORD)d3dDevice)); //Это вроде...

Поясните, пожалуйста, смысл выделенных строк в тексте программы - C++
Поясните, пожалуйста, смысл выделенных строк в тексте программы. Заранее спасибо #include &quot;stdafx.h&quot; #define im 32 int...

Смысл const char* и о том, какой тип строк лучше использовать - C++
Я никак не могу понять смысла const char*. Это строка в стиле C, я знаю. Но чем эта запись отличается от char*? Или вообще, просто char?...

объясните значения строк - C++
Если не сложно , то пожалуйста объясните значения следующих строк: 1) scanf(&quot;%d%d%d&quot;,&amp;a,&amp;b,&amp;c); 2) printf(&quot;\n\n%d ...

Объясните доступным языком пару строк кода - C++
что обозначает подобный код: #include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; int** createInt(int m,int n) { ...

Количество логических строк в коде - C++
Привет! Есть задание: определить количество &quot;логических строк в коде(LLOC) &quot;, на вики про это такая инфа: и там же есть другое...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dzhej-Dzhej
Заблокирован
03.11.2010, 09:46     Объясните смысл строк в коде (~20 строк) #2
while((ch = getc(f)) != EOF) {//EOF - признак окончания файла, считываем символы(ch = getc(f)), пока не достигнут конец файла
text[i++]=ch; //записываем символ в строку, i++ - переходим на следующую позицию в строке
text[i] = '\0'; //в следующей позиции(теперь текущая) пишем конец строки
Lerny
56 / 56 / 3
Регистрация: 14.03.2010
Сообщений: 151
03.11.2010, 09:47     Объясните смысл строк в коде (~20 строк) #3
Открывает файл "tekt.txt" для чтения, и выводит его содержимое на экран.
Главное обратить внимание на важнейшую api функцию:
C++
1
}
Ksan
27 / 27 / 0
Регистрация: 02.11.2010
Сообщений: 370
03.11.2010, 09:47  [ТС]     Объясните смысл строк в коде (~20 строк) #4
C++
1
2
3
text[i]=ch;
i=i+1; 
text[i] = '\0';
C++
1
2
text[i++]=ch;
text[i] = '\0';
Они идентичны, так?
Dzhej-Dzhej
Заблокирован
03.11.2010, 09:49     Объясните смысл строк в коде (~20 строк) #5
да, идентичны
еще можно так
C++
1
2
3
text[i]=ch;
i++;//++i; 
text[i] = '\0';
или так
C++
1
2
text[i]=ch;
text[++i] = '\0';
Lerny
56 / 56 / 3
Регистрация: 14.03.2010
Сообщений: 151
03.11.2010, 09:50     Объясните смысл строк в коде (~20 строк) #6
Цитата Сообщение от Ksan Посмотреть сообщение
C++
1
2
3
text[i]=ch;
i=i+1; 
text[i] = '\0';
C++
1
2
text[i++]=ch;
text[i] = '\0';
Они идентичны, так?
По функционалу - да.

Не по теме:

Dzhej-Dzhej, да чтож ты всё время меня опережаешь))

Ksan
27 / 27 / 0
Регистрация: 02.11.2010
Сообщений: 370
03.11.2010, 09:51  [ТС]     Объясните смысл строк в коде (~20 строк) #7
Dzhej-Dzhej, и, насколько я понял, "text[i] = '\0';" лишь обнуляет следующий массив, что бы небыло непонятных знаков типа "ћ¦Ϥ" и прочих?
Dzhej-Dzhej
Заблокирован
03.11.2010, 09:56     Объясните смысл строк в коде (~20 строк) #8
Цитата Сообщение от Ksan Посмотреть сообщение
"text[i] = '\0';" лишь обнуляет следующий массив
он ставит признак окончания строки(символ), чтоб не вывело text полностью, с теми закарлючками

Не по теме:

Не по теме:
Dzhej-Dzhej, да чтож ты всё время меня опережаешь))

ловкость рук

Ksan
27 / 27 / 0
Регистрация: 02.11.2010
Сообщений: 370
03.11.2010, 10:04  [ТС]     Объясните смысл строк в коде (~20 строк) #9
Всем спасибо. Вопрос исчерпан.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2010, 10:10     Объясните смысл строк в коде (~20 строк)
Еще ссылки по теме:

Исправить ошибку в коде для сравнения строк - C++
что-то не получается вот с этим: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main () { setlocale...

Динамический список строк. Найти ошибку в коде - C++
#include &lt;iostream&gt; #include &lt;list&gt; // подключаем заголовок списка // заголовок итераторов #include &lt;locale&gt; #include &lt;string.h&gt; ...

Написать программу для подсчета общего количества строк в исходном коде - C++
1) Написать программу для подсчета общего количества строк в исходном коде; 2) Расширить программу п. 1, чтобы она выводила значение a....

Найти причины и способы устранения ошибок в коде (работа с векторами строк) - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;vector&gt; int main() { system(&quot;chcp...


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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.11.2010, 10:10     Объясните смысл строк в коде (~20 строк) #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h> // Вставка файла stdio.h
#include <stdlib.h>// Вставка файла stdlib.h
#include <iostream>// Вставка файла iostream
using namespace std; // Будем юзить пострансво имён std
int main() // Заголовок функции, в которой валяется точка входа в программу. Функция возвращает int, а зовут её main
{ // открывающая операторная скобка функции main. Отсюда начинается тело функции
char text[100]; // Декларация массива text из 100 элментов типа char
FILE *f = fopen("tekt.txt", "r"); // Декларация указателя f на динамическое данное типа FILE(динамичскую файловую переменную) и в той же строке создание этого данного открытием для чтения и связыванием с областью памяти файла tekt.txt
int i=0; // Декларация переменной i типа int и в той же строке присваивание её значения 0
char ch; // Декларация переменной ch типа char
// объясните действие каждой строки после этих комментов и до //------------
while((ch = getc(f)) != EOF) // Заголовок цикла с предусловием. Пока ch не равно коду конца файла, цикл будет выполняться и на каждом шаге в ch читается очередной символ из файла, связанного с динамической файловой переменной по адресу f
{// Открывающая операторная скобка цикла. Отсюда начинается тело цикла, то есть те операторы, которые будут повторяться в цикле
text[i++]=ch; // i-тому элементу text присваивается ch, i увеличивается на 1,
text[i] = '\0'; // i-тому элементу text присваивается 0
} // Закрывающая операторная скобка цикла. Здесь заканчивается тело цикла.
printf(text); // Вывод на экран массива text, интерпретируемого в качестве zтерминальной строки.
fclose(f); // Закрываем файл, связанный с файловой переменной по адресу f
int iz; // Декларация файловой переменной iz типа int
cin >> iz; // Ввод переменной iz из потока, связанного с консолью.
return 0; // Возврат значения из функции main
}// Закрывающая операторная скобка функции main. Здесь заканчивается тело функции.
Yandex
Объявления
03.11.2010, 10:10     Объясните смысл строк в коде (~20 строк)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru