#include #include #include #include #include #include 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; }