2014-02-09 2 views
0

내 안드로이드 프로그램에서 블루투스를 통해 데이터 (특정 문자 배열)를 허용하는 회로가 있습니다.C의 문자열에서 문자 잘라 내기

이제 내가하고 싶은 일은 : 내 마이크로 컨트롤러를 다시 프로그램하고, 필자의 micrcontroller가받는 배열에서 일련의 문자를 필터링하거나 추출하고 싶습니다.

내 안드로이드는 문자 배열의 세 가지 종류의 전달합니다

1. red#ILOVEYOU 
2. blue#ILOVEYOULALALA 
3. green#ILOVEDIANAROSECUSTODIO:) 

내가 빨간색 # 또는 파란색 # 또는 녹색 #를 추출하여 다른 변수에 전송합니다. 내 전화기는 추출이 더 쉬워 질 것으로 생각하기 때문에 각 색상의 끝에 '#'을 보냅니다.

char Comp(char* This){ 

    while(Serial.available() > 0) // Don't read unless 
    // there you know there is data 
    { 
     if(index < 99){ 
      inChar = Serial.read(); // Read a character 
      if(inChar == '#'){ 

      } 
      inData[index] = inChar; // Store it 
      index++; // Increment where to write next 
      inData[index] = '\0'; // Null terminate the string 

     } 
    } 

    if(strcmp(inData,This) == 0){ 
     for(int i=0;i<19;i++){ 
      inData[i]=0; 
     } 
     index=0; 
     return(0); 

    } 
    else{ 
     return(1); 
    } 
} 

이것은 내 코드 arduino입니다. 알다시피, 아주 작은 시간에 한 문자를받은 다음 char 배열 변수에 추가합니다.

+1

귀하의 질문은 명확하지 않으며 대부분의 변수는 신고되지 않습니다. – ooga

답변

0

c에서 strtok() 함수를 사용할 수 있습니다.

+0

그것은 빨랐다! :) 고마워요 ~ ~ 나중에 30 분 안에 코드를 게시 할 것입니다. 고마워 고마워! ~ – Glenn