codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
char str1[] = "$GPRMC,044159.000,A,3903.1262,N,07729.0495,W,0.00,40.30,061212,,,A*4D"; char str2[] = "$GPGGA,044200.000,3903.1262,N,07729.0497,W,1,08,1.0,83.7,M,-33.4,M,,0000*5F"; char str3[] = "$GPGSA,A,3,30,31,32,16,20,23,29,14,,,,,2.1,1.0,1.8*33"; int argpos(const char *str, int idx = 0, char sep = ',') { for(int i = idx, j = strlen(str); i < j; i++) if (str[i] == sep && str[i+1] != sep) return i+1; return -1; } void print_indexes(const char *str) { int idx = 0; while ((idx = argpos(str, idx)) != -1 ) printf( "%d -> %c\n", idx, str[idx] ); printf("\n"); } int main() { print_indexes( str1 ); print_indexes( str2 ); print_indexes( str3 ); }
Private
[
?
]
Run code
Submit