Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android NXC StrToNum始终返回0_Android_Nxt_Lego_Nxc - Fatal编程技术网

Android NXC StrToNum始终返回0

Android NXC StrToNum始终返回0,android,nxt,lego,nxc,Android,Nxt,Lego,Nxc,我对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]

我对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);
 }
//主机
#定义收件箱0
字符串tmps1=“”;
字符串tmps2=“”;
整数大小;
charret;
字节tmpi;
bool btn=假;
串味精;
长数;
int countMSG=0;
国际数独[9][9];
主要任务()
{
设置传感器接触(IN_3);
设置传感器模式(在传感器3模式下);
文本输出(0,LCD_LINE1,“主接收”,真);
而(btn==0)
{
if(ReceiveMessage(收件箱,true,msg)=无错误)
{
TextOut(0,LCD_LINE3,msg,false);
打破
}
等待(250);
btn=传感器(IN_3);
}
对于(int i=0;i<9;i++)
{
tmps1=子序列(msg,i,1);
数独[i][0]=strotnum(strcat(tmps1,“\n”);
文本输出(i*6,LCD_LINE4,tmps1,假);
NumOut(i*6,LCD_LINE5,数独[i][0],假);
等待(1000);
}
等待(2500);
}

问题出在数独[9][9]上。nxc中没有2d阵列:) 我把它换成了

int sudoku[81];

现在它工作得很好

你能提供更多的上下文吗?你要传递给StrToNum的字符串是什么?StrToNum仅将类型字符串的实际数字(1,2,3,4…)转换为类型整数。