scanftest/src/main.c.back

168 lines
4.6 KiB
Plaintext

#include <gint/display.h>
#include <gint/keyboard.h>
#include <stdio.h>
#include <stdlib.h>
#include <gint/gint.h>
#include <fxlibc/printf.h>
char c;
char c1, c2;
char temp1, temp2;
int i1, i2;
float f1, f2;
float sd;
float sf;
int n[9] = {0};
void operate( void )
{
FILE* fichier = fopen( "data.txt", "r" );
fscanf( fichier, "%c%n", &c, &n[0] );
fscanf( fichier, "%d%n", &i1, &n[1] );
fscanf( fichier, "%f%n", &f1, &n[2] );
fscanf( fichier, "%c%n%c%n%c%n%c%n", &temp1, &n[3], &c1, &n[4], &temp2, &n[5], &c2, &n[6] );
fscanf( fichier, "%u%n", &i2, &n[7] );
fscanf( fichier, "%g%n", &f2, &n[8] );
fclose( fichier );
}
int main(void)
{
__printf_enable_fp();
dclear(C_WHITE);
dtext(1, 1, C_BLACK, "Sample fxSDK add-in.");
dupdate();
gint_world_switch( GINT_CALL( operate ));
dprint( 1, 20, C_GREEN, "0/ FILE value : char : %c - n= %d ", c, n[0] );
dprint( 1, 30, C_BLUE, "1/ FILE value : integer : %d - n= %d ", i1, n[1] );
dprint( 1, 40, C_RED, "2/ FILE value : float : %f - n= %d ", f1, n[2] );
dprint( 1, 50, C_GREEN, "3/ FILE value : char : %c - %c - n= %d ", temp1, c1, n[4] );
dprint( 1, 60, C_GREEN, "4/ FILE value : char : %c - %c - n= %d ", temp2, c2, n[6] );
dprint( 1, 70, C_BLUE, "5/ FILE value : integer : %d - n= %d ", i2, n[7] );
dprint( 1, 80, C_RED, "6/ FILE value : float : %f - n= %d ", f2, n[8] );
sscanf( "6789.123", "%f", &sf );
sscanf( "-123456789.123456789", "%f", &sd );
dprint( 1, 90, C_RED, "7/ STR value : float : %f ", sf );
dprint( 1, 100, C_RED, "8/ STR value : float : %f ", sd );
char tab[10]={0};
int n;
sscanf( " AbCdEfgHiJkLmNoP", "%5c%n", &tab[0], &n );
dprint( 1, 110, C_GREEN, "9/ STR value : char* : %s - n= %d", tab, n );
sscanf( " AbCdEfgHiJkLmNoP", " %5c%n", &tab[0], &n );
dprint( 1, 120, C_GREEN, "10/ STR value : char* : %s n= %d", tab, n );
sscanf( "% AbCdEfgHiJkLmNoP", "%% %10c%n", &tab[0], &n );
dprint( 1, 130, C_GREEN, "11/ STR value : char* : %s n= %d", tab, n );
char str[30];
sscanf( " AbCdEfgHiJkLmNoP", "%s%n", &str[0], &n );
dprint( 1, 140, C_GREEN, "12/ STR value : char* : %s n= %d", str, n );
sscanf( " AbCdEfgHiJkLmNoP", " %s%n", &str[0], &n );
dprint( 1, 150, C_GREEN, "13/ STR value : char* : %s n= %d", str, n );
sscanf( " AbCdEfgHiJkLmNoP", "%10s%n", &str[0], &n );
dprint( 1, 160, C_GREEN, "14/ STR value : char* : %s n= %d", str, n );
sscanf( " AbCdEfgHiJkLmNoP", " %10s%n", &str[0], &n );
dprint( 1, 170, C_GREEN, "15/ STR value : char* : %s n= %d", str, n );
int val = 123;
char buf[100];
sprintf(buf, "%p", (void*)&val);
dprint( 1, 180, C_BLACK,"16/ Original =%s\n", buf);
void *ptr;
sscanf(buf, "%p", &ptr);
dprint( 1, 190, C_BLACK,"17/ Read back=%p\n", ptr);
int *iPtr = ptr;
if (iPtr == &val) {
dprint( 1, 200, C_BLACK,"18/ Pointers match\n");
}
char a;
short b;
unsigned int i;
int d;
sscanf( "4294967295", "%u", &i );
sscanf( "4294967295", "%hd", &b );
sscanf( "4294967295", "%hhd", &a );
dprint( 1, 210, C_BLUE, "19/ %d %d %u", a, b, i );
dupdate();
getkey();
dclear( C_WHITE);
sscanf( "1234567890", "%u", &i );
dprint( 1, 10, C_BLUE, "20/ full read : %u", i );
sscanf( "1234567890", "%1u", &i );
dprint( 1, 20, C_BLUE, "21/ 1 char max read : %u", i );
sscanf( "1234567890", "%5u", &i );
dprint( 1, 30, C_BLUE, "22/ 5 char max read : %u", i );
sscanf( "1234567890", "%20u", &i );
dprint( 1, 40, C_BLUE, "23/ 20 char max read : %u", i );
sscanf( "-1234567890", "%d", &d );
dprint( 1, 50, C_BLUE, "24/ full read : %d", d );
sscanf( "-1234567890", "%2d", &d );
dprint( 1, 60, C_BLUE, "25/ 2 char max read : %d", d );
sscanf( "-1234567890", "%5d", &d );
dprint( 1, 70, C_BLUE, "26/ 5 char max read : %d", d );
sscanf( "-1234567890", "%20d", &d );
dprint( 1, 80, C_BLUE, "27/ 20 char max read : %d", d );
float g;
sscanf( "12345.67890", "%f", &g );
dprint( 1, 100, C_RED, "28/ full read : %f", g );
sscanf( "12345.67890", "%1f", &g );
dprint( 1, 110, C_RED, "29/ 1 char max read : %f", g );
sscanf( "12345.67890", "%5f", &g );
dprint( 1, 120, C_RED, "30/ 5 char max read : %f", g );
sscanf( "12345.67890", "%20f", &g );
dprint( 1, 130, C_RED, "31/ 20 char max read : %f", g );
sscanf( "-12345.67890", "%f", &g );
dprint( 1, 140, C_RED, "32/ full read : %f", g );
sscanf( "-12345.67890", "%2f", &g );
dprint( 1, 150, C_RED, "33/ 2 char max read : %f", g );
sscanf( "-12345.67890", "%5f", &g );
dprint( 1, 160, C_RED, "34/ 5 char max read : %f", g );
sscanf( "-12345.67890", "%20f", &g );
dprint( 1, 170, C_RED, "35/ 20 char max read : %f", g );
dupdate();
getkey();
return 1;
}