-1
我有一個char buffer[200];
,其含量爲(Serial.println(buffer)
的輸出):如何過濾我的焦炭的一部分
AT+CGPSINF=2
2,195941,4613.161699,N,608.476854,E,1,9,1.398636,435.450073,M,48.200287,M,,0000
OK
我想在char fix[]
僅此
2,195941,4613.161699,N,608.476854,E,1,9,1.398636,435.450073,M,48.200287,M,,0000
我花了很多時間解決此代碼,但沒有成功
static int gps_read() {
read_AT_string("AT+CGPSINF=2",3000);
Serial.println(F("------- Show buffer------"));
Serial.println(buffer);
Serial.println(F("-------------------------\n"));
char fix[BUFFERSIZE];
int z = 0;
int y = 0;
int w = 0;
for(y=0; y < BUFFERSIZE; y++)
{
if(buffer[y]==',') z++;
if(z > 0){
if(buffer[y] == '\n') break;
fix[w] = buffer[y];
w++;
}
//if(y==num)//if the command is right, run return
// y=strlen(buffer)+1;
}
Serial.println(F("------- Show Fix------"));
Serial.println(fix);
Serial.println(F("----------------------"));
我該如何填寫第二調整char fix[]
用看起來像的行:
2,195941,4613.161699,N,608.476854,E,1,9,1.398636,435.450073,M 48.200287,M,0000
在我上面的代碼,它打印我說:
------- Show Fix------
,202653,4613.164908,N,608.479232,E,1,9,1.183249,427.253052,M,48.200226,M,,0000
b
----------------------
我失去了第一個 '2'。
應刪除換行符和'b'和空格。
您無法調整自動本機陣列的大小。 – WhozCraig 2014-09-13 20:13:10
在你想要開始的時候,你是否認爲不能讀*到*'fix',並且一旦你到達最後就停止放置字符? – 2014-09-13 20:25:56
我找到了一個解決方案,但我不滿意,你推薦我什麼? Tks – pierrot10 2014-09-13 20:43:48