Go Down

Topic: Operatore - con String (Read 1 time) previous topic - next topic

tuxduino

atoi() fa parte della libreria standard del C, quindi sulla sua presenza in un dato ambiente direi che si può stare abbastanza tranqulli a prescindere dagli aggiornamenti :)

contecavour

Non entravo nel merito di stdlib.h, ma di usare un include.
Il mio linguaggio preferito è Delphi che non so se conosci, ma è come dire li..abbassare gli uses...per evitare definizioni ricorsive.
Insomma, diventa uno stile a priori.

Mi viene un dubbio, accetta String in ingresso o pchar?

N

tuxduino

Delphi lo conosco bene di nome (il ns. gestionale ad esempio è scritto in Delphi). Usato non proprio, ci ho giocato tanto tempo fa... (ma col turbo pascal ero bravino... :) )

Quote
Mi viene un dubbio, accetta String in ingresso o pchar?


atoi() accetta pchar come argomento (const char* nel gergo C/C++)

http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/

Quando si passa dagli array null-terminated del C ad una classe stringa si cambia approccio, perché la rappresentazione stringa è già nell'oggetto stesso. Quindi si dota la classe stringa di un metodo tipo int toInt(), e/o si definisce l'operatore di casto-to-int per la classe, in modo che String s="10"; int i = (int)s; abbia un senso. VB.net usa un approccio inverso: fornisce una classe per ogni tipo nativo, e ognuna di queste classi ha un metodo di classe che fa il parsing di una stringa e ritorna il tipo di dato numerico corrispondente. Ad esempio i = Integer.parse(str).

contecavour

Allora era per quello.
Me ne ero fatto uno che accettasse in entrata il mio tipo di dato e uscisse con quello che mi serviva.

Quote
VB.net


Ecco VB.net penso che sia uno di quei linguaggi che non userò mai (Dio mi aiuti), se devo lavorare in .Net che sia c#.

N

lesto

ho usato il VB (tradizionale), ma ora che son stato costretto ad usare il .net mi son buttato sul c#.
è un casino quando programmi mezaz giornata in VB e mezza in c o altro, ti ritrovi a mischiar le sintassi.

Quote
fornisce una classe per ogni tipo nativo, e ognuna di queste classi ha un metodo di classe che fa il parsing di una stringa e ritorna il tipo di dato numerico corrispondente. Ad esempio i = Integer.parse(str).


java fa un mischione, perchè ha sia gli oggetti (Integer, Float, etc..) che i tipi primitivi (int, float, etc..). Se usi gli oggetti hai i metodoti toInt() etc, se usi i primitivi o le stringhe usi dei metodi statici delle classi sopracitate.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

tuxduino

Vb.net fa lo stesso "mischione".

cyberhs

Anche la classe String possiede il suo bravo toInt(), peccato che (nonostante le segnalazioni) questa funzione non sia documentata!

La uso spesso per introdurre numerici da Monitor.

Ettore Massimo Albani

m_ri

@lesto: son d'accordo che gli stream(e anche le string) non vadano molto bene con arduino se fai qlks di serio,e aggiungo come motivo(oltre ai soliti noti) il fatto che fanno allocazioni/dealloc,e arduino dopo un po' può piantarsi in casi particolari..
atoi mi sembra invece una buona scelta,comunque meglio di quanto possa fare un programmatore normale..contando che di solito a ste librerie vengano fatte molte ottimizzazioni..

Go Up