che sto parsing di una stringa (una char*
) e sto usando sscanf
per analizzare i numeri dalla stringa in doppie, in questo modo:Ottieni il numero di caratteri letti da sscanf?
// char* expression;
double value = 0;
sscanf(expression, "%lf", &value);
Questa grande opera, ma Vorrei poi continuare l'analisi del stringa attraverso mezzi convenzionali. Ho bisogno di sapere quanti caratteri sono stati analizzati da sscanf
in modo che possa riprendere la mia analisi manuale dal nuovo offset.
Ovviamente, il modo più semplice sarebbe quella di calcolare in qualche modo il numero di caratteri che sscanf
analizza, ma se non c'è un modo semplice per farlo, ho am aperta alle opzioni di analisi doppie alternative. Tuttavia, attualmente sto usando sscanf
perché è veloce, semplice e leggibile. Ad ogni modo, ho solo bisogno di un modo per valutare il doppio e continuare ad analizzarlo dopo.
Non riesco a farlo funzionare per [implementazione Microsoft] (https://msdn.microsoft.com/en-us/library/t6z7bya3.aspx?f=255&MSPPError=-2147217396) come tale: ' sscanf_s (p, "% s% d \ n% n", toString, (int) _countof (toString), & itemCount, &pos); 'Il' pos' non sembra cambiare affatto. – c00000fd