Posted By: pjz (void) on 'CZprogram'
Title:     c++ / fscanf
Date:      Tue Apr 15 17:13:33 2003

Nazdar,
  mam maly problem: rekneme, mam strukturu (vcelku elementarni, nic sloziteho)

struct s_troop{
  ...
  char sil, odl;
  ...
};
struct s_troop troop[50];

a nekde v programu mam kod

...
fscanf(f, "%3i ", &troop[5].sil);
// na f je namapovan realne existujici soubor s obsahem typu
// " 12   4 125 150  33 "
...

  program samozrejme nacte do troop[5].sil hodnotu ze souboru, ale krome toho 
prepise i troop[5].odl, cili pamet, ktera v dane strukture zabira nasledujici 
"chlivek". Pokud jsem to testoval, zda se, ze to prepisuje vzdycky na 0, ale 
mozna to muze byt i nahodna hodnota, co ja vim ...

  jde o to, ze imho by mel fscanf nacist hodnotu do prislusne promenne a 
ostatni promenne nechat na pokoji. Chapu, ze troop[5].sil, stejne jako 
troop[5].odl je char (1 byte) a %3i znamena int (2 - 4 byty), coz nic nemeni 
na tom, ze nevim, jak to resit (teda vim, vyresil jsem to "manualne" pres 4x 
getc() + pomocna funkce, ale to je imho takove trochu nefajn ... kdyz uz tady 
existuje ten fscanf()). 

  PS: prostredi: Turbo C, MS-Dos.

Http://phoenix.inf.upol.cz/~zezulaj

Search the boards