Kamile, píše to : incompatible types in assignment of 'char*' to 'char [10]'
na co jsem zapomněl?
Data z řetězce
Re: Data z řetězce
Zkus tohle, upozorňuji že to neni otestovane
Kód: Vybrat vše
//predpoklada retezec tvaru "text125478" nebo "text 58425" nebo " text 9724 \n" nebo "<text1475>" atd........
String text="";
int textval=0;
char ch='\0';
const byte MINRXLEN=5; //min. delka textu
void setup() {
Serial.begin(9600);
}
void loop() {
if(Serial.available()>=MINRXLEN){
while(Serial.available()>0){
ch=Serial.peek();
if(!(isDigit(ch)||isAlpha(ch))){
Serial.read(); //znak co neni pismeno nebo cislo zahodime
}else{
if(isAlpha(ch)){
text=text+String(ch);
Serial.read(); //zpracovany znak vyhodime
}else{ //je to cislice
textval=Serial.parseInt();
}
}
if(Serial.available()==0){ //chvilku pockame, jestli jeste neco neprijde
delay(10);
}
}
}
//tady mame v promenne text zadany text
//v promenne textval je cislo, pokud je nula, bylo cislo nulove nebo nebylo zadane
//pokracujeme zpracovanim dat
//po zpracovani musime inicializovat textovy retezec, jinak se bude stale mnozit
text="";
}
Re: Data z řetězce
Aha, jasně, strtok vrací jen pointer, deklaruj si x jako
A ještě nevím z hlavy, zda atoi() v parametru vezme referenci. Mohl by.
Kód: Vybrat vše
char* x;
Re: Data z řetězce
Kamile, pořád to samé ta hvězdička nepomohla...............
Ondro, šlape to !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
díky Vám všem
Ondro, šlape to !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
díky Vám všem
Re: Data z řetězce
Nevěřím musel bys ukázat celý kód. Každopádně pokud jsou to jen dvě hodnoty, dá se to načíst různě.
síla strtoku by opravdu byla ve chvíli, kdy by hodnot bylo více, např. "ahoj*123*svete*789*dlouhy*456*text*0"
síla strtoku by opravdu byla ve chvíli, kdy by hodnot bylo více, např. "ahoj*123*svete*789*dlouhy*456*text*0"
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů