This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
courses:programming:rules [2022/12/10 09:08] 127.0.0.1 external edit |
courses:programming:rules [2023/09/13 07:32] (current) sergey_tinyakov |
||
---|---|---|---|
Line 28: | Line 28: | ||
==== Для считывания строк (в том числе с консоли) используйте функцию fgets. Запрещается использовать scanf и gets ==== | ==== Для считывания строк (в том числе с консоли) используйте функцию fgets. Запрещается использовать scanf и gets ==== | ||
- | Пример использования fgets для считывания с консоли: | + | Пример использования ''fgets'' для считывания с консоли: |
<code> | <code> | ||
int size = 100; | int size = 100; | ||
char string[size]; | char string[size]; | ||
fgets(string,size,stdin); | fgets(string,size,stdin); | ||
+ | </code> | ||
+ | |||
+ | Помимо функции ''fgets'' можно посимвольно считывать строку через ''getchar'', однако вариант с ''fgets'' является более правильным. | ||
+ | |||
+ | __**Если есть гарантии по условию**__, что на вход будет подаваться какой-то **один конкретный тип данных __кроме строки__** (например, целочисленное число), | ||
+ | то тогда можно использовать функцию ''scnaf''. Например, следующий код считывает число между двумя вертикальными чертами (например, ''|15|''): | ||
+ | <code> | ||
+ | int x; | ||
+ | scanf("|%d|", &x); | ||
</code> | </code> | ||