Форум 3DNews
Вернуться   Форум 3DNews > Программирование > Программирование

Ответ Создать новую тему
Опции темы Опции просмотра
Непрочитано 14.07.2005, 17:00   [включить плавающее окно]   #1
KpeHgeJIb
Мужской Заслуженный
Автор темы
 
Аватар для KpeHgeJIb
 
Регистрация: 10.02.2003
Адрес: Израиль
Аналог vfscanf в Visual C++

Здарова, народ.
Подскажите, есть ли в MSVisual C++ аналог борландовской функции
int vfscanf(FILE *stream, const char *format, va_list arglist);
а то vfprintf есть а vfscanf найти не могу.
Просто нужно написать Class имплементирующий функции по работе с файлами.
А какая же работа с файлами без fscanf Ну не переписывать же ее заново, должна же быть функция которая делает тоже самое только с указателем на список параметров, а не с самими параметрами.
Помогите пожалуйста, а то я уже замучался искать.
KpeHgeJIb вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 16.07.2005, 14:26   [включить плавающее окно]   #2
RoboTact
Мужской Новенький
 
Регистрация: 05.07.2005
Цитата (KpeHgeJIb) »
Здарова, народ.
Подскажите, есть ли в MSVisual C++ аналог борландовской функции
int vfscanf(FILE *stream, const char *format, va_list arglist);
а то vfprintf есть а vfscanf найти не могу.
Просто нужно написать Class имплементирующий функции по работе с файлами.
А какая же работа с файлами без fscanf Ну не переписывать же ее заново, должна же быть функция которая делает тоже самое только с указателем на список параметров, а не с самими параметрами.
Помогите пожалуйста, а то я уже замучался искать.
А что за работа с файлами? Какая именно функциональность нужна?
В любом случае лучше во первых пользоваться только стандартными функциями, а во вторых использовать в С++ стандартные методы С++, а не С. Так что fstream.
RoboTact вне форума  
Ответить с цитированием
Непрочитано 17.07.2005, 10:17   [включить плавающее окно]   #3
KpeHgeJIb
Мужской Заслуженный
Автор темы
 
Аватар для KpeHgeJIb
 
Регистрация: 10.02.2003
Адрес: Израиль
Цитата
А что за работа с файлами? Какая именно функциональность нужна?
Нужно реализовать метод в классе который работает аналагично с fscanf. Вот собственно и все.
Цитата (RoboTact) »
Так что fstream.
Нет , ты не понял, я студен, что стказали, то и пишем
KpeHgeJIb вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 20.07.2005, 03:44   [включить плавающее окно]   #4
RoboTact
Мужской Новенький
 
Регистрация: 05.07.2005
Цитата (KpeHgeJIb) »
Цитата
А что за работа с файлами? Какая именно функциональность нужна?
Нужно реализовать метод в классе который работает аналагично с fscanf. Вот собственно и все.
То есть просто нужно написать врэпер, вызывающий что-то вроди fscanf ? Это невозможно, если не нашаманить что-то на уровне машинного кода. В любом случае это - не разговор о С++, и может быть стоит найти другого преподавателя

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

Последний раз редактировалось RoboTact; 20.07.2005 в 03:48.
RoboTact вне форума  
Ответить с цитированием
Непрочитано 20.07.2005, 11:12   [включить плавающее окно]   #5
Benedict
Интересующийся
 
Регистрация: 19.06.2004
KpeHgeJIb
А каталог с названием типа C:\Program Files\Borland\CBuilder5\Source\RTL\source\io\ у тебя имеется?
__________________
А доктор всё не едет...
Benedict вне форума  
Ответить с цитированием
Непрочитано 20.07.2005, 21:46   [включить плавающее окно]   #6
KpeHgeJIb
Мужской Заслуженный
Автор темы
 
Аватар для KpeHgeJIb
 
Регистрация: 10.02.2003
Адрес: Израиль
Цитата (RoboTact) »
То есть просто нужно написать врэпер
Чего, чего написать?
Цитата (Benedict) »
А каталог с названием типа C:\Program Files\Borland\CBuilder5\Source\RTL\source\io\ у тебя имеется?
Цитата (KpeHgeJIb) »
есть ли в MSVisual C++ аналог борландовской функции
На борланде можно это написать в пять строчек, там есть vfscanf которая эту проблему решает на ура.

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

Но теперь меня мучает этот вопрос. Неможет же быть что в борландовском С++ реализовали эту функцию а на MS нет. Должно быть чтото подобное, просто обязано.
KpeHgeJIb вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 21.07.2005, 00:46   [включить плавающее окно]   #7
Benedict
Интересующийся
 
Регистрация: 19.06.2004
KpeHgeJIb
По секрету: в этом каталоге лежат исходники. В том числе нужной тебе функции.
__________________
А доктор всё не едет...
Benedict вне форума  
Ответить с цитированием
Непрочитано 22.07.2005, 01:35   [включить плавающее окно]   #8
RoboTact
Мужской Новенький
 
Регистрация: 05.07.2005
Цитата (KpeHgeJIb) »
Но теперь меня мучает этот вопрос. Неможет же быть что в борландовском С++ реализовали эту функцию а на MS нет. Должно быть чтото подобное, просто обязано.
Это не нужно. Функции из этой серии очень плохи - по многим причинам. И уж создавать собственные функции на их основе точно не следует. MS Visual C++. Кстати шестая версия плоха и для С++.
RoboTact вне форума  
Ответить с цитированием
Непрочитано 22.07.2005, 14:39   [включить плавающее окно]   #9
KpeHgeJIb
Мужской Заслуженный
Автор темы
 
Аватар для KpeHgeJIb
 
Регистрация: 10.02.2003
Адрес: Израиль
Цитата (RoboTact) »
Функции из этой серии очень плохи - по многим причинам.
А подробнее можно?
Цитата (RoboTact) »
Кстати шестая версия плоха и для С++.
Знаю, знаю, я успел уже на ней поработать. Ее здорово клинит. Хотя сервис пак кажись 6-ой испавляет все эти глюки. Но я этой мутью не занимался и поставил себе MS Visual Studio .Net 2003. Так что на нем и програмлю.
KpeHgeJIb вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 23.07.2005, 12:40   [включить плавающее окно]   #10
RoboTact
Мужской Новенький
 
Регистрация: 05.07.2005
Цитата (KpeHgeJIb) »
Цитата (RoboTact) »
Функции из этой серии очень плохи - по многим причинам.
А подробнее можно?
Достаточно того, что не проверяются типы и количество аргументов. Если же передавать управляющую (форматную) строку "извне" - это серьезная уязвимость.
RoboTact вне форума  
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey