Progetti

   

Sponsor

   

Servizi

   
Benvenuto, Ospite
Nome utente: Password: Ricordami
  • Pagina:
  • 1
  • 2

ARGOMENTO: problema con array di caratteri

problema con array di caratteri 4 Anni 10 Mesi fa #1

  • MoriLuca
  • Avatar di MoriLuca
  • Offline
  • Junior Boarder
  • Messaggi: 30
  • Ringraziamenti ricevuti 1
  • Karma: 0
Buona sera,

Sto avendo un piccolo problemino con l' uso di un array di caratteri.

All inizio del mio programma , ho definito

char acAlarmState [] = {'O','F','F','\0'} ;

Fin qua nessun problema, se monto il programma, gira tutto normalmente, ed io sul mio display,

vedo il mio orologio, con sopra la scritta indicante lo stato della sveglia.

Il problema è sorto quando nel codice ho provato ad inserire il cambio di stato.

Alla pressione del pulsante, vorrei che , se per esempio ,

if ( acAlarmState[1]=='F' ) acAlarmState[]= {'O','N','\0'};

Cosi facendo mi si presentano questi errori, che non riesco , anche dopo svariate ricerche,

a eliminare.


PressioneTasto.h:42: warning: (343) implicit return at end of non-void function
Main.c:95: error: (195) expression syntax
Main.c:95: error: (312) ";" expected
Main.c:100: error: (195) expression syntax
Main.c:100: error: (312) ";" expected
Main.c:119: error: (285) no identifier in declaration
Main.c:119: warning: (374) missing basic type; int assumed
Main.c:119: error: (314) ";" expected
Main.c:122: error: (285) no identifier in declaration
Main.c:122: warning: (374) missing basic type; int assumed
Main.c:122: error: (314) ";" expected
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

problema con array di caratteri 4 Anni 10 Mesi fa #2

  • alfa75
  • Avatar di alfa75
  • Offline
  • Platinum Boarder
  • Messaggi: 527
  • Ringraziamenti ricevuti 86
  • Karma: 7
Ciao
secondo me il problema è quel punto e virgola dopo la parentesi
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Ringraziano per il messaggio: MoriLuca

problema con array di caratteri 4 Anni 10 Mesi fa #3

  • firstcolle
  • Avatar di firstcolle
  • Offline
  • Platinum Boarder
  • Messaggi: 324
  • Ringraziamenti ricevuti 36
  • Karma: 3
io proverei a risolvere in altro modo.. mi spiego:
visto che controll1 se è ON o OFF imposti una variabile char, o bit con stato 0 per indicare OFF o 1 per indicare ON.
bit  stato_allarme = 0;

A questo punto
alla pressione del tasto inverti lo stato della variabile
if (tasto premuto... vedi tu come gestirlo)
   stato_allarme = !stato_allarme;

e poi esponi la scritta sul display, anche senza averla salvata in array volendo
if (stato_allarme == 0)
   scrivi OFF su display)
else
   scrivi ON su display
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Ringraziano per il messaggio: MoriLuca

problema con array di caratteri 4 Anni 10 Mesi fa #4

  • MoriLuca
  • Avatar di MoriLuca
  • Offline
  • Junior Boarder
  • Messaggi: 30
  • Ringraziamenti ricevuti 1
  • Karma: 0
Grazie per il vostro tempo ragazzi!

Comunque lascio scritto come ho risolto il problema, non si sa mai ..

Da quanto ho capito, programmando in C, non è possibile andare a cambiare il contenuto

di un array di caratteri , come in una stringa per il C++.

Per fare questo bisogna usare delle funzioni richiamate dalla libreria "string.h".

La funzione strcpy(char,string), permette appunto di inserire come primo argomento ,

l 'array di char da modificare , e come secondo argomento , la stringa da inserire.

Es

#include "string.h"

char cNome [] = {'O','N','\0'};

int main (void){

strcpy(cNome,"ciao");

}

Se ci dovesse essere qualche errore, o una via migliore per farlo , fatemi sapere.

Buona serata
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

problema con array di caratteri 4 Anni 10 Mesi fa #5

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Offline
  • Moderatore
  • Messaggi: 4656
  • Ringraziamenti ricevuti 555
  • Karma: 52
Per piccoli cambiamenti sulla stringa, puoi anche accedere alle singole celle dell'arrary piuttosto che usare le funzioni di libreria.

una volta definito char cNome [4] = {'O','N','\0'};

puoi scrivere nel codice

cNome[0] = 'O';
cNome[1] = 'F';
cNome[2] = 'F';
cNome[3] = '\0';

In questo caso potresti anche definire due semplici costanti con relative stringhe.

Saluti,

Mauro
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
Moderatori: Mauro Laurenti, StefA
Powered by Forum Kunena
   
© LaurTec 2006-2015