NXC StrToNum всегда возвращает 0

У меня странная проблема с NXC. Я пытаюсь получить сообщение от телефона Android и преобразовать строку в значение int. Проблема в том, что это всегда 0 Это просто тестовая программа. так что это очень странно ^^

    // MASTER
#define INBOX 0
string tmps1 = "";
string tmps2 = "";
int size;
char ret;
byte tmpi;

bool btn = false;
string msg;
long number;
int countMSG = 0;
int sudoku[9][9];
task main ()
{
  SetSensorTouch(IN_3);
  SetSensorMode(IN_3, SENSOR_MODE_BOOL);

  TextOut (0 , LCD_LINE1 ," Master Receiving ",true );

  while (btn == 0)
  {

   if(ReceiveMessage(INBOX ,true , msg) == NO_ERR)
   {
    TextOut (0, LCD_LINE3 ,msg, false);
    break;
   }
   Wait(250);
   btn = Sensor(IN_3);
  }
  for(int i = 0; i < 9; i++)
  {
     tmps1 = SubStr(msg, i, 1);

     sudoku[i][0] = StrToNum(strcat(tmps1, "\n"));

     TextOut(i*6, LCD_LINE4, tmps1, false);
     NumOut(i*6, LCD_LINE5, sudoku[i][0], false);
     Wait(1000);
  }

  Wait(2500);
 }

1 ответ

Решение

Судоку [9][9] является проблемой. в nxc нет 2d массивов:) я заменил его на

int sudoku[81];

теперь работает нормально!

Другие вопросы по тегам