LINUX.ORG.RU

/home/vinick/tmp $ cat t.c
#include <stdio.h>
int main(int argc, char ** argv)
{
  int i =0;
  while(argv[2][i] != 0)
    {
      printf("%d,",argv[2][i]-0x30);
      ++i;
    }
  printf("\n");
  return 0;
}
/home/vinick/tmp $ ./t aaa 123456
1,2,3,4,5,6,
/home/vinick/tmp $ 

Vinick ★★
()

OMG, на каком форуме я сижу...

paxac
()
Ответ на: комментарий от www_linux_org_ru

что вы оба человека плохому учите? где гарантия, что это будет ascii? про atoi(3) уже упомянули, вот через него и всё остальное.

beastie ★★★★★
()
Ответ на: комментарий от beastie

> что вы оба человека плохому учите? где гарантия, что это будет ascii? про atoi(3) уже упомянули, вот через него и всё остальное.

0х30 действительно учит плохому, а *я* -- нет.

Если ты считаешь иначе, приведи пример кодировки, в которой цифры расположены не в порядке 0 1 2 3 4 5 6 7 8 9 друг за другом.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

> Если ты считаешь иначе, приведи пример кодировки, в которой цифры расположены не в порядке 0 1 2 3 4 5 6 7 8 9 друг за другом.

EBCDIC для signed char.

ubber
()
Ответ на: комментарий от ubber

То есть порядок будет такой: 9 8 7 6 5 4 3 2 1 0, а не требуемый 0 1 2 3 4 5 6 7 8 9. Ни на что не влияет, но тем не менее.

ubber
()
Ответ на: комментарий от ubber

// хватить чушь нести, а? выхлоп: 99

#include <iostream>

int main()
{
    unsigned char u0=0xF0;
    unsigned char u9=0xF9;
      signed char *s0=(signed char*)&u0;
      signed char *s9=(signed char*)&u9;


    std::cout << (u9-u0) << (*s9-*s0) << '\n';
    return 0;
}

www_linux_org_ru ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.