2014-09-08 1 views
0

У меня странная проблема с NXC. Я пытаюсь получить сообщение от телефона android и преобразовать строку в значение int. Проблема в том, что это всегда 0 Это просто тестовая программа. поэтому его очень странный ^^NXC StrToNum всегда возвращает 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); 
} 
+0

Какая строка вы передаете StrToNum? StrToNum только преобразует фактические числа (1,2,3,4 ...) строки типа в целое число. – shea

ответ

0

sudoku [9] [9] является проблемой. нет 2d массивов в NXC :) я заменил его

int sudoku[81]; 

теперь работает отлично!

+0

Можете ли вы предоставить более контекст? – Stefan

Смежные вопросы