Вопросы с тегом 'scanf'

Вопросы, связанные с семейством функций scanf() в библиотеке времени выполнения C, которые считывают и конвертируют форматированные данные. (Включает scanf(), sscanf(), fscanf() и их вариативные эквиваленты.)
4

В чем разница между спецификаторами преобразования% я и% d в форматированных IO-функциях (* printf/* scanf)

В чем разница между %d и %i при использовании в качестве спецификаторов формата в printf?
12 дек. '09 в 13:49
5

Почему scanf() нуждается в "% lf" для удвоений, когда printf() в порядке с "% f"?

Почему scanf() нуждается в l в "%lf" при чтении double, когда printf() может использовать "%f" независимо от того, является ли его аргумент double или float? Пример кода: double d; scanf("%lf", &d); printf("%f", d);
16 окт. '08 в 23:05
2

Чтение строки с помощью scanf

Я немного смущен. У меня создалось впечатление, что правильный способ чтения строки C с помощью scanf() шел по строкам (не обращая внимания на возможное переполнение буфера, это просто простой пример) char string[256]; scanf( "%s" , string ); Одн...
23 мар. '11 в 14:40
13

Как вы можете вводить пробелы с помощью scanf?

Используя следующий код: char *name = malloc(sizeof(char) + 256); printf("What is your name? "); scanf("%s", name); printf("Hello %s. Nice to meet you.\n", name); Пользователь может ввести свое имя, но когда он вводит имя с пробелом, как Lucas...
08 авг. '09 в 4:37
3

Что такое спецификатор формата для unsigned short int?

У меня есть следующая программа #include <stdio.h> int main(void) { unsigned short int length = 10; printf("Enter length : "); scanf("%u", &length); printf("value is %u \n", length); return 0; } Что при компиляци...
02 янв. '12 в 10:35
8

Что я могу использовать для преобразования входных данных вместо scanf?

Я очень часто видел, как люди отговаривали других от использования scanf и говорили, что есть лучшие альтернативы. Тем не менее, все, что я в итоге вижу, это "не использовать scanf" или "здесь правильная строка формата", и никогда не упоминаются прим...
15 окт. '19 в 22:49
9

Как сделать scanf для одиночного char в C

В C: Я пытаюсь получить char от пользователя с помощью scanf, и когда я запустил его, программа не дождалась, когда пользователь наберет что-нибудь... Это код: char ch; printf("Enter one char"); scanf("%c", &ch); printf("%c\n",ch); Почему не...
24 нояб. '12 в 14:16
11

Почему я должен каждый раз указывать тип данных в C?

Как вы можете видеть из приведенного ниже фрагмента кода, я объявил одну переменную char и одну переменную int. Когда код компилируется, он должен идентифицировать типы данных переменных str и i. Почему мне нужно снова указать во время сканирования...
13 авг. '13 в 7:57
6

Как предотвратить сканирование, вызывающее переполнение буфера в C?

Я использую этот код: while ( scanf("%s", buf) == 1 ){ Каким будет лучший способ предотвратить возможное переполнение буфера, чтобы он мог передавать строки случайных длин? Я знаю, что могу ограничить входную строку, вызвав, например: while ( sc...
25 окт. '09 в 16:56
4

scanf() оставляет новую строку char в буфере

У меня есть следующая программа: int main(int argc, char *argv[]) { int a, b; char c1, c2; printf("Enter something: "); scanf("%d",&a); // line 1 printf("Enter other something: "); scanf("%d", &b); // line 2 printf("Enter a ch...
09 мар. '11 в 2:56
9

Как я могу прочитать строку ввода неизвестной длины?

Если я не знаю, как долго это слово, я не могу написать char m[6];, Длина слова может быть десять или двадцать. Как использовать scanf для ввода ввода с клавиатуры? #include <stdio.h> int main(void) { char m[6]; printf("please input...
01 июн. '13 в 7:58
10

Недостатки scanf

Я хочу знать недостатки scanf(). На многих сайтах я читал, что использование scanf может привести к переполнению буфера. Что является причиной этого? Существуют ли другие недостатки с scanf?
12 мар. '10 в 3:20
6

В чем разница между sscanf или atoi, чтобы преобразовать строку в целое число?

gcc 4.4.4 c89 Что лучше преобразовать строку в целочисленное значение. Я пробовал 2 разных метода atoi и sscanf. Обе работают как ожидалось. char digits[3] = "34"; int device_num = 0; if(sscanf(digits, "%d", &device_num) == EOF) { fprintf...
06 авг. '10 в 2:29
11

sscanf в Python

Я ищу эквивалент sscanf() в Python. Я хочу разбирать файлы /proc/net/*, в C я мог бы сделать что-то вроде этого: int matches = sscanf( buffer, "%*d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %*X %*X:%*X %*X:%*X %*X %*d %*d %ld %*512s\n", ...
01 февр. '10 в 6:38
6

Спецификаторы формата для uint8_t, uint16_t,...?

Если у меня есть целочисленная переменная, я могу использовать sscanf, как показано ниже, с помощью спецификатора формата% d. sscanf (line, "Value of integer: %d\n", &my_integer); Где я могу найти спецификаторы формата для uint8_t, uint16_t,...
09 авг. '11 в 8:05