Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    25

    [C] controllare se una stringa è formata da numeri interi

    ciao a tutti,
    sto sviluppando un server in C che tra i parametri in ingresso (nella linea di comando) può ricevere la porta in cui puo accettare le connessioni.
    Come controllo devo vedere che il comando inserito sia formato solo da cifre e non da lettere o entrambi. Infatti se utilizzo semplicemente la sscanf e ho una stringa del tipo 45dfds la sscanf mi considera solo il 45, invece io vorrei controllare simbolo per simbolo la stringa e appena arrivo a un simbolo diverso da un numero segnalo un errore.
    Io un qualcosa del genere l'ho fatto tramite la isdigit ma dato che il mio server deve girare anche su Solaris a quanto ho capito questa funzione non la posso usare perchè mi esce un errore di compilazione quando compilo in Solaris.
    L'errore è "warning subscript has type char"

    Qualcuno mi sa aiutare? Grazie

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Di per se un warning non è un errore e la isdigit() è standard.
    Può darsi che il compilatore ti stia solo avvertendo che stai passando un char invece di un int (come richiede il prototipo). In questo caso un cast esplicito può risolvere il problema.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    25
    Originariamente inviato da shodan
    Di per se un warning non è un errore e la isdigit() è standard.
    Può darsi che il compilatore ti stia solo avvertendo che stai passando un char invece di un int (come richiede il prototipo). In questo caso un cast esplicito può risolvere il problema.
    grazie mille, ho risolto con il cast.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.