powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Форматированный вывод - таки
7 сообщений из 7, страница 1 из 1
Форматированный вывод - таки
    #33670570
uvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
uvv
Гость
Хотелось бы использовать для вывода нечто аналогичное printf () в С.
Почитал. У Страуструпа, кажется, нашел нечто такое:

cout << form("www = %d", i);

(при чем написано, что cout << form() эквивалент printf () в С).
При компиляции "E2268 Call to undefined function "form"".
В каком h-файле она определена, описана?

Заранее благодарен.
...
Рейтинг: 0 / 0
Форматированный вывод - таки
    #33670704
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uvvХотелось бы использовать для вывода нечто аналогичное printf () в С.
Почитал. У Страуструпа, кажется, нашел нечто такое:

cout << form("www = %d", i);

(при чем написано, что cout << form() эквивалент printf () в С).
При компиляции "E2268 Call to undefined function "form"".
В каком h-файле она определена, описана?

Заранее благодарен.

Вероятнее всего, функция form() была описана где-то в книжке Страуструпа. Она не входит в состав стандартных библиотек... Просто почитайте Help по cout.
...
Рейтинг: 0 / 0
Форматированный вывод - таки
    #33670758
uvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
uvv
Гость
Спасибо.
...
Рейтинг: 0 / 0
Форматированный вывод - таки
    #33670811
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitrii K. uvvХотелось бы использовать для вывода нечто аналогичное printf () в С.
Почитал. У Страуструпа, кажется, нашел нечто такое:

cout << form("www = %d", i);

(при чем написано, что cout << form() эквивалент printf () в С).
При компиляции "E2268 Call to undefined function "form"".
В каком h-файле она определена, описана?

Заранее благодарен.

Вероятнее всего, функция form() была описана где-то в книжке Страуструпа. Она не входит в состав стандартных библиотек... Просто почитайте Help по cout.

Просто про cout почитать маловато будет.
Читать нужно про иерархую iomanip, ios_base, ios
Както давно я задавался целью детать потоковый форматированный
ввод вывод.
ИХМО Очень не узабельно.
ИХМО printf scanf удобней.
...
Рейтинг: 0 / 0
Форматированный вывод - таки
    #33670861
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat-Просто про cout почитать маловато будет.
Читать нужно про иерархую iomanip, ios_base, ios
Както давно я задавался целью детать потоковый форматированный
ввод вывод.
ИХМО Очень не узабельно.
ИХМО printf scanf удобней.
Найди-ка security issue вот тут.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
#include <string.h>

void main()
{
	FILE *psw;
	char buff[ 32 ];
	char user[ 16 ];
	char pass[ 16 ];
	char _pass[ 16 ];

	printf("printf bug demo\n");
	if (!(psw=fopen("buff.psw","r"))) return;
	fgets(&_pass[ 0 ], 8 ,psw);

	printf("Login:");fgets(&user[ 0 ], 12 ,stdin);
	printf("Passw:");fgets(&pass[ 0 ], 12 ,stdin);

	if (strcmp(&pass[ 0 ],&_pass[ 0 ])) 
		sprintf(&buff[ 0 ],"Invalid password: %s",&pass[ 0 ]);
	else
		sprintf(&buff[ 0 ],"Password ok\n");

	printf(&buff[ 0 ]);

}
...
Рейтинг: 0 / 0
Форматированный вывод - таки
    #33671719
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Ильич onstat-Просто про cout почитать маловато будет.
Читать нужно про иерархую iomanip, ios_base, ios
Както давно я задавался целью детать потоковый форматированный
ввод вывод.
ИХМО Очень не узабельно.
ИХМО printf scanf удобней.
Найди-ка security issue вот тут.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
#include <string.h>

void main()
{
	FILE *psw;
	char buff[ 32 ];
	char user[ 16 ];
	char pass[ 16 ];
	char _pass[ 16 ];

	printf("printf bug demo\n");
	if (!(psw=fopen("buff.psw","r"))) return;
	fgets(&_pass[ 0 ], 8 ,psw);

	printf("Login:");fgets(&user[ 0 ], 12 ,stdin);
	printf("Passw:");fgets(&pass[ 0 ], 12 ,stdin);

	if (strcmp(&pass[ 0 ],&_pass[ 0 ])) 
		sprintf(&buff[ 0 ],"Invalid password: %s",&pass[ 0 ]);
	else
		sprintf(&buff[ 0 ],"Password ok\n");

	printf(&buff[ 0 ]);

}


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

С использованием width(n) можно написать тоже самое.

з.ы. Можно обьяснить, в чем заключается security issue в твоем коде?
...
Рейтинг: 0 / 0
Форматированный вывод - таки
    #33671783
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat-з.ы. Можно обьяснить, в чем заключается security issue в твоем коде?
В том, что можно узнать правильный пароль в том случае если вместо пароля введешь волшебную строчку.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Форматированный вывод - таки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]