Форум 3DNews

Форум 3DNews (http://forum.3dnews.ru/index.php)
-   Программирование (http://forum.3dnews.ru/forumdisplay.php?f=44)
-   -   Аналог vfscanf в Visual C++ (http://forum.3dnews.ru/showthread.php?t=44133)

KpeHgeJIb 14.07.2005 17:00

Аналог vfscanf в Visual C++
 
Здарова, народ.
Подскажите, есть ли в MSVisual C++ аналог борландовской функции
int vfscanf(FILE *stream, const char *format, va_list arglist);
а то vfprintf есть а vfscanf найти не могу.
Просто нужно написать Class имплементирующий функции по работе с файлами.
А какая же работа с файлами без fscanf Ну не переписывать же ее заново, должна же быть функция которая делает тоже самое только с указателем на список параметров, а не с самими параметрами.
Помогите пожалуйста, а то я уже замучался искать.

RoboTact 16.07.2005 14:26

Цитата:

Сообщение от KpeHgeJIb
Здарова, народ.
Подскажите, есть ли в MSVisual C++ аналог борландовской функции
int vfscanf(FILE *stream, const char *format, va_list arglist);
а то vfprintf есть а vfscanf найти не могу.
Просто нужно написать Class имплементирующий функции по работе с файлами.
А какая же работа с файлами без fscanf Ну не переписывать же ее заново, должна же быть функция которая делает тоже самое только с указателем на список параметров, а не с самими параметрами.
Помогите пожалуйста, а то я уже замучался искать.

А что за работа с файлами? Какая именно функциональность нужна?
В любом случае лучше во первых пользоваться только стандартными функциями, а во вторых использовать в С++ стандартные методы С++, а не С. Так что fstream.

KpeHgeJIb 17.07.2005 10:17

Цитата:

А что за работа с файлами? Какая именно функциональность нужна?
Нужно реализовать метод в классе который работает аналагично с fscanf. Вот собственно и все.
Цитата:

Сообщение от RoboTact
Так что fstream.

Нет , ты не понял, я студен, что стказали, то и пишем :)

RoboTact 20.07.2005 03:44

Цитата:

Сообщение от KpeHgeJIb
Цитата:

А что за работа с файлами? Какая именно функциональность нужна?
Нужно реализовать метод в классе который работает аналагично с fscanf. Вот собственно и все.

То есть просто нужно написать врэпер, вызывающий что-то вроди fscanf ? Это невозможно, если не нашаманить что-то на уровне машинного кода. В любом случае это - не разговор о С++, и может быть стоит найти другого преподавателя ;)

P.S. Если только "аналогично" - некая упрощенная версия, которая должна писаться вручную... Это точно должна быть функция с переменным числом аргументов по версии языка С?

Benedict 20.07.2005 11:12

KpeHgeJIb
А каталог с названием типа C:\Program Files\Borland\CBuilder5\Source\RTL\source\io\ у тебя имеется? :)

KpeHgeJIb 20.07.2005 21:46

Цитата:

Сообщение от RoboTact
То есть просто нужно написать врэпер

Чего, чего написать? :)
Цитата:

Сообщение от Benedict
А каталог с названием типа C:\Program Files\Borland\CBuilder5\Source\RTL\source\io\ у тебя имеется?

Цитата:

Сообщение от KpeHgeJIb
есть ли в MSVisual C++ аналог борландовской функции

На борланде можно это написать в пять строчек, там есть vfscanf которая эту проблему решает на ура.

На самом деле, я упустил этот метод в классе и все прошло гладко :)
Ни кто из наших тоже эту функцию не написал. Так что сдал как есть.

Но теперь меня мучает этот вопрос. Неможет же быть что в борландовском С++ реализовали эту функцию а на MS нет. Должно быть чтото подобное, просто обязано.

Benedict 21.07.2005 00:46

KpeHgeJIb
По секрету: :spy: в этом каталоге лежат исходники. В том числе нужной тебе функции.

RoboTact 22.07.2005 01:35

Цитата:

Сообщение от KpeHgeJIb
Но теперь меня мучает этот вопрос. Неможет же быть что в борландовском С++ реализовали эту функцию а на MS нет. Должно быть чтото подобное, просто обязано.

Это не нужно. Функции из этой серии очень плохи - по многим причинам. И уж создавать собственные функции на их основе точно не следует. MS Visual C++. Кстати шестая версия плоха и для С++.

KpeHgeJIb 22.07.2005 14:39

Цитата:

Сообщение от RoboTact
Функции из этой серии очень плохи - по многим причинам.

А подробнее можно?
Цитата:

Сообщение от RoboTact
Кстати шестая версия плоха и для С++.

Знаю, знаю, я успел уже на ней поработать. Ее здорово клинит. :) Хотя сервис пак кажись 6-ой испавляет все эти глюки. Но я этой мутью не занимался и поставил себе MS Visual Studio .Net 2003. Так что на нем и програмлю.

RoboTact 23.07.2005 12:40

Цитата:

Сообщение от KpeHgeJIb
Цитата:

Сообщение от RoboTact
Функции из этой серии очень плохи - по многим причинам.

А подробнее можно?

Достаточно того, что не проверяются типы и количество аргументов. Если же передавать управляющую (форматную) строку "извне" - это серьезная уязвимость.


Текущее время: 07:48. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot