1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
Changing the record separator for streams (operator >>) - FAILED
----------------------------------------------------------------
Everything operates in the following way:
a) Skipping all whitespaces
1) The istream::sentry nested class constructor is called for that
[ no way to override nested class in C++ ]
2) Spaces are checked using "ctype_base::space"
[ it could be dependent on the current facet (locale) ]
3) In the STLPort the following function stack is called [differs in gcc]
M_init_skip, M_skip_whitespaces, _is_not_wspace, ctype::is_space
b) Reading the formated value
1) For strings the reading stops on ctype_base::space.
2) For integer types - on the first in-appropriate symbol.
3) The following function is called:
__get_num [STLPort], num_get [gcc]
-------------------------------------------------------------------
SEE 'locale_facet.cpp' for WORKING EXAMPLE
|