Запитання з тегом «scanf»



2
Читання рядка з scanf
Я дещо розгублений у чомусь. У мене було враження, що правильний спосіб читання рядка C scanf()пройшов по рядках (не маючи на увазі можливого переповнення буфера, це просто простий приклад) char string[256]; scanf( "%s" , string ); Однак, здається, працює і наступне, scanf( "%s" , &string ); Це просто мій компілятор …
147 c  scanf 

11
Як ви дозволяєте вводити пробіли за допомогою 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 Aardvark , scanf()просто відсікає все після Lucas. Як зробити scanf()пропуски
129 c  string  printf  scanf  whitespace 

8
Що я можу використовувати для перетворення вводу замість scanf?
Я дуже часто бачив, як люди відштовхують інших від використання scanfта кажуть, що є кращі альтернативи. Однак я бачу або "не використовувати scanf", або "ось правильний рядок формату" , і ніколи не згадуються приклади "кращих альтернатив" . Наприклад, візьмемо цей фрагмент коду: scanf("%c", &c); Це зчитує пробіл, який залишився у …
125 c  scanf 

4
Що таке специфікатор формату для неподписаного короткого 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; } Який при компіляції з використанням gcc filename.cвидав наступне попередження (у scanf()рядку). warning: format ‘%u’ expects argument of type ‘unsigned int …
124 c  scanf 

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 char: "); scanf("%c",&c1); // line 3 printf("Enter another char: "); scanf("%c", &c2); // line 4 …
87 c  scanf 

6
Як запобігти scanf, що спричиняє переповнення буфера в C?
Я використовую цей код: while ( scanf("%s", buf) == 1 ){ Що було б найкращим способом запобігти можливому переповненню буфера, щоб йому можна було передавати рядки випадкової довжини? Я знаю, що можу обмежити вхідний рядок, викликаючи наприклад: while ( scanf("%20s", buf) == 1 ){ Але я волів би мати можливість …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.