2017-10-14 3 views
0

Ich versuche ein Chat-Programm für den TI-Nspire Calc über die serielle Schnittstelle zu erstellen. So installierte ich das ndless SDK und nspireio lib, um die Kommunikation zu machen und es ist eine Art arbeitet von da es eine infite Wiederholung der Nachricht ist so schrieb ich folgendes:Kompilierungsfehler aufgrund der Tabelle in C++

if(uart_ready()) { 
    char input[100] = {0}; 
    uart_getsn(input,100); 
    if(oldinput != input) { 
      nio_puts(input); 
      oldinput = input; 
    } 
} 

Aber wenn ich kompilieren es gib mir diesen Fehler:

[email protected]:~/TINSPIRE/Ndless/ndless-sdk/samples/uart# make 
nspire-g++ -Wall -W -marm -Os -c hello.cpp 
hello.cpp: Dans la fonction « int main() »: 
hello.cpp:61:14: error: affectation de tableau invalide 
    oldinput = input; 
       ^~~~~ 
Makefile:33 : la recette pour la cible « hello.o » a échouée 
make: *** [hello.o] Erreur 1 

Was mache ich falsch?

+1

wo die Variable oldinput definiert ist? – farbiondriven

+0

Hinweis: Verwenden Sie 'Export LANG = C LC_ALL = C', um Ihre Nachrichten auf Englisch für die Frage –

+0

zu erhalten. Es ist bereits an der Spitze des Programms – TurtleForGaming

Antwort

0

sollten Sie erklären oldinput:

char oldinput[100] = {0}; 

memcpy(oldinput, input, sizeof(char) * 100); 
+0

Es ist wahrscheinlich schon so erklärt. Allerdings können Sie keine Arrays in C oder C++ zuweisen –

+0

Es ist bereits an der Spitze des Programms – TurtleForGaming

+0

ok deklariert, fügen Sie einfach memcpy, um Eingaben zu kopieren. –

0

Wenn oldinput auch ein Array char ist,

ersetzen oldinput=input mit

strcpy(oldinput,input); 
+1

Das nimmt Null terminierte Zeichenfolgen an. Bei IO ist das selten der Fall. –

+0

Korrekter: memcpy (oldinput, Eingabe, sizeof (char) * 100); –

Verwandte Themen