Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > scanf хавает printf


Автор: Notreg 16.11.2008, 16:53
Код

            printf("Vvod:\n");
    printf("Imya: "); gets_s(Name);
    puts("God: "); scanf_s("%d", &Year);
    printf("Cena: "); scanf_s("%d", &Price);
    printf("Promyshlennost': "); gets_s(Industry);
    printf("Gorod: "); gets_s(Town);
    printf("Zavod: "); gets_s(Plant);

Почему поле Name заполняется строкой God: ? Industry заполняется строкой Gorod:
как сделать что б нормально было?

Автор: J0ker 16.11.2008, 19:39
как у вас объявлены Name и Indastry?

Автор: Notreg 17.11.2008, 11:00
char Name[21];
char Industry[21];

Автор: DareDevil225 17.11.2008, 12:16
1.почитайте описание функции puts и gets
2.не стоит использовать столь разносторонние методы считывания - либо одно, либо другое
3.
Код

 printf("Vvod:\n");
 printf("Imya: "); scanf_s("%s", &Name);
 printf("God: "); scanf_s("%d", &Year);
 printf("Cena: "); scanf_s("%d", &Price);
 printf("Promyshlennost': "); scanf_s("%s", &Industry);
 printf("Gorod: "); scanf_s("%s", &Town);
 printf("Zavod: ");scanf_s("%s", &Plant);


Автор: JackYF 17.11.2008, 17:58
Цитата(DareDevil225 @  17.11.2008,  11:16 Найти цитируемый пост)
scanf_s

Не рекомендовать нестандартные расширения к языку в общих вопросах.

Автор: Mayk 17.11.2008, 18:09
что такое scanf_s?

Добавлено через 27 секунд
а также gets_s?

Автор: REZiaMIX 18.11.2008, 12:02
Цитата(Mayk @ 17.11.2008,  18:09)
что такое scanf_s?

Добавлено @ 18:10
а также gets_s?

Более безопасные варианты функций , scanf и gets , рекомендуются в новых vc++

Автор: DareDevil225 18.11.2008, 13:54
REZiaMIX
Цитата

Цитата(DareDevil225 @  17.11.2008,  11:16 )
scanf_s


Не рекомендовать нестандартные расширения к языку в общих вопросах.

в этом вы правы, их никто и не рекомендует использовать, написал так потому что там они уже использовались.

Автор: JackYF 18.11.2008, 21:39
Цитата(DareDevil225 @  18.11.2008,  12:54 Найти цитируемый пост)
написал так потому что там они уже использовались. 

Верно. Извиняюсь.

Автор: Notreg 18.11.2008, 22:44
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)