formated file reading problem
Please support our C++ advertiser: Programming Forums
![]() |
•
•
Posts: 119
Reputation:
Solved Threads: 10
As i knew the <stdarg.h> header should have the following function
int vfscanf(FILE *stream, const char *format, va_list ap);
but under Visual Studio 2005, after including the header and calling the function i get
'vfscanf': identifier not found
if the function is not declared, can u tell me some simmilar functions that do the same
thing and have the same parameters?
thx
int vfscanf(FILE *stream, const char *format, va_list ap);
but under Visual Studio 2005, after including the header and calling the function i get
'vfscanf': identifier not found
if the function is not declared, can u tell me some simmilar functions that do the same
thing and have the same parameters?
thx
•
•
Posts: 119
Reputation:
Solved Threads: 10
•
•
•
•
I don't think it is supported. A replacement might be fscanf() + some extra code, but it really depends on what you are doing with with vfscanf.
hmmm, what i am doing is that i want to wrap my formated file read in a File class that i design myself so that it throws exceptions for every problem that might occur.
what i want to is to have a Scan method in my File class that looks like
void File:
can ( const char * Format, ... ) {
va_list objArgs;
va_start( objArgs, pcFormat );
vfscanf( m_pFile, pcFormat, objArgs ); // m_pFile is the file handle
va_end( objArgs );
}
this is actually wraping fscanf in File:
can Did some research for you, and there is a workaround :
Just throw that in the file where you're using vsscanf and it should work again.
If you use this code, use the vsscanf_s instead of the vsscanf if you want to avoid getting anoying "sscanf was declared deprecated" warnings.
Hope this helps. If it doesn't, post some sample data from your file and you'll get advice how to make your own function for it.
Niek
c Syntax (Toggle Plain Text)
#ifndef __stdio_h__ #include <stdio.h> #define __stdio_h__ #endif int vsscanf_s (const char * src, const size_t length, const char * format, va_list argList); int vsscanf_s (const char * src, const size_t length, const char * format, va_list argList) { return _snscanf_s (src, length, format, * (void **) argList); } int vsscanf (const char * src, const char * format, va_list argList); int vsscanf (const char * src, const char * format, va_list argList) { return sscanf (src, format, * (void **) argList); }
If you use this code, use the vsscanf_s instead of the vsscanf if you want to avoid getting anoying "sscanf was declared deprecated" warnings.
Hope this helps. If it doesn't, post some sample data from your file and you'll get advice how to make your own function for it.
Niek
Want better/more replies to your questions? Wrap your code in [code] [/code] tags!
![]() |
Similar Threads
Other Threads in the C++ Forum
Other Threads in the C++ Forum
- Previous Thread: Trying to learn from error messages(general error c10100b1)
- Next Thread: classes and inheritance problems
•
•
•
•
Views: 983 | Replies: 5 | Currently Viewing: 1 (0 members and 1 guests)





)

Linear Mode