fork(1) download
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. int main()
  5. {
  6. char s[] = "abücd€ef";
  7.  
  8. for ( size_t i = 0, j = strlen( s ); i < j; i++ )
  9. {
  10. printf( "0x%X\n", s[i] );
  11. }
  12.  
  13. for ( size_t i = 0, j = strlen( s ); i < j; i++ )
  14. {
  15. //if ( !strncmp( s+i, "ü", 2 ) )
  16. if ( i < j-1 && (s[i] & 0xFF) == 0xC3 && (s[i+1] & 0xFF) == 0xBC )
  17. {
  18. printf( "umlaut detected at pos %d\n", i );
  19. i++;
  20. }
  21. //else if ( !strncmp( s+i, "€", 3 ) )
  22. else if ( i < j-2 && (s[i] & 0xFF) == 0xE2 && (s[i+1] & 0xFF) == 0x82 && (s[i+2] & 0xFF) == 0xAC )
  23. {
  24. printf( "euro detected at pos %d\n", i );
  25. i += 2;
  26. }
  27. }
  28.  
  29. return 0;
  30. }
Success #stdin #stdout 0s 4528KB
stdin
Standard input is empty
stdout
0x61
0x62
0xFFFFFFC3
0xFFFFFFBC
0x63
0x64
0xFFFFFFE2
0xFFFFFF82
0xFFFFFFAC
0x65
0x66
umlaut detected at pos 2
euro detected at pos 6