2010-07-21 14 views
7

Sto programmando un programma in C++ (gioco tipico) in cui devi indovinare una lettera e controllerà se è presente in una stringa.Voglio vedere se un carattere è presente in una stringa

Per esempio

Segreto String: mi piace programmare.

Guess1: 'a'

Display:. .... .. ..... un ...

Ecc

Ma io non so come per vedere se un personaggio è in questa stringa segreto.

sto usando std :: string (obbligatorio)

Ogni aiuto è apprezzato!

+1

+1 per l'utilizzo di stringa invece di array char! –

+1

@Amardeep I HATE conversioni tra questi due ... +1 al tuo commento. –

+1

@AnonymousPi +1 loop di commenti infinito ': -P' –

risposta

14

Iniziare imparando la ricerca in una documentazione come: http://www.cplusplus.com/reference/string/string/. (Suggerimento: si vuole "trovare" qualcosa ...)

+3

+1 perché hai offerto la documentazione invece di indicare la risposta esatta a questa ovvia domanda a casa – paercebal

+3

@paercebal: Come fai a sapere che non è solo un hobby la maggior parte dei compiti a casa hanno avuto la tendenza a utilizzare gli array di caratteri ea non consentire le funzioni della libreria, inoltre non si fornisce loro l'intero gioco semplicemente dicendo loro quale funzione trova un carattere in una stringa. (Oh, +1 per la documentazione) –

+0

@Amardeep: il modo in cui viene formulata la domanda, la domanda stessa e alcuni suggerimenti come "Sto usando std :: string (** obbligatorio **)". cpluplus.com è un ottimo riferimento a C++ e l'autore della risposta entrambi gli hanno indicato un indizio ...^_^... – paercebal

8

È possibile utilizzare find_first_of

+0

È possibile, ma non è realmente previsto per questo lavoro. Ha lo scopo di trovare uno qualsiasi di un set di caratteri. –

+0

Anche la funzione è sovraccaricata per prendere un solo carattere. – Tomaka17

+2

Per non parlare del fatto che detto insieme di caratteri potrebbe comunque consistere in un singolo carattere. L'uso di 'string :: find' renderebbe il tuo codice leggermente più conciso, tuttavia, poiché la differenza di funzionalità con' string :: find_first_of' è irrilevante in questo caso. – JAB

5

Ci sono diversi metodi a std :: string che avrebbero aiutato:

find() rfind() find_first_of() find_last_of() substr()

Problemi correlati