Пример #1
0
/*:::::*/
FBCALL int fb_InputSingle( float *dst )
{
    char buffer[FB_INPUT_MAXNUMERICLEN+1];
    int len, isfp;

	len = fb_FileInputNextToken( buffer, FB_INPUT_MAXNUMERICLEN, FB_FALSE, &isfp );

	if( isfp == FALSE )
	{
		if( len <= FB_INPUT_MAXINTLEN )
			*dst = (float)fb_hStr2Int( buffer, len );
		else if( len <= FB_INPUT_MAXLONGLEN )
			*dst = (float)fb_hStr2Longint( buffer, len );
		else
		{
			if( buffer[0] == '&' )
				*dst = (float)fb_hStr2Longint( buffer, len );
			else
				*dst = strtof( buffer, NULL );
		}
	}
	else
		*dst = strtof( buffer, NULL );

	return fb_ErrorSetNum( FB_RTERROR_OK );
}
Пример #2
0
FBCALL int fb_InputString( void *dst, ssize_t strlen, int fillrem )
{
    char buffer[FB_INPUT_MAXSTRINGLEN+1];
	int isfp;

	fb_FileInputNextToken( buffer, FB_INPUT_MAXSTRINGLEN, TRUE, &isfp );

	fb_StrAssign( dst, strlen, buffer, 0, fillrem );

	return fb_ErrorSetNum( FB_RTERROR_OK );
}
Пример #3
0
/*:::::*/
FBCALL int fb_InputByte( char *dst )
{
    char buffer[FB_INPUT_MAXNUMERICLEN+1];
    int len, isfp;

	len = fb_FileInputNextToken( buffer, FB_INPUT_MAXNUMERICLEN, FB_FALSE, &isfp );

	if( isfp == FALSE )
		*dst = (char)fb_hStr2Int( buffer, len );
	else
		*dst = (char)rint( fb_hStr2Double( buffer, len ) );

	return fb_ErrorSetNum( FB_RTERROR_OK );
}