Считается плохим тоном использовать С и С++ функции чтения потока в одной программе. Но тем не менее ранее это никогда не приводило к ошибкам. Совсем недавно, решая задачу, в которой нужно последовательно читать int и char[] столкнулся с такой ситуацией. Если читаем: int через scanf, а char[] через cin int через cin, а char[] через scanf то это приводит к неправильному ответу. Если же оба параметра считываем одинаковой функцией, то решение проходит. Поэтому возник вопрос: при каких ситуациях возможны конфликты между этими функциями.
Ответ
Скорее всего, вы делаете что-то неправильно. По умолчанию библиотеки ввода вывода C и C++ синхронизированы, поэтому можно безопасно чередовать использование функций из одной и другой библиотеки. Синхронизацию можно включить-выключить явно, используя функцию std::ios_base::sync_with_stdio
Комментариев нет:
Отправить комментарий