Ganz blöde Frage zu Strings

S

Sg

Hallo zusammen,
mir will einfach nicht mehr einfallen wie das ging :(

wie kann ich aus einem String einzelne zahlen buchstaben ... sagen wir einzelne bytes rauslesen.

Code:
ich hab da etz zb. 

String daten[5]

und angenommen

daten[2]= "123 234 F 123 34"

was muss ich etz schreibe damit ich rausfinden kann ob in daten[2] ein F drinnen steckt und an welcher Position es ist ?

Danke
Gruß
 
Zuletzt bearbeitet von einem Moderator:
Hallo Saiga,

verstehe deine Frage wohl nicht ganz aber ich vermute du möchtest den [] Operator nutzen.
C++:
std::string str = "Hallo";
if (str[3] == 'l')
{
   // code
}

// besser
std::string::size_type i = str.find("l");  // sucht vorwärts ab Index 0

Literatur:
wiki
Strings in C++

mfg :)
 
Zuletzt bearbeitet von einem Moderator:
C++:
#include <string>

int main()
{
    std::string array_of_string[5] = { "abc", "def", "geh", "ijk", "lmn" };
    if (array_of_string[2].find("f") != std::string::npos)
    {
        // im 2. String befindet sich irgendwo ein "f"
    }
}
.... denke das willst du :D
 
Genau das habe ich gesucht !
Danke ^^

Aber ich hätte da noch eine Frage

Im oberene Beitrag steht:
C++:
array_of_string[5] = { "abc", "def", "geh", "ijk", "lmn" };

Wenn ich jetzt aber schreiben würde
C++:
array_of_string[]="hallo";
cout << array_of_string [2];

würde es mir den Buchstaben a ausgeben.
im oberen Beispiel ist es aber nicht möglich da jede zahl im Indexoperator für einen ganzen string steht oder sehe ich da was falsch
und geht es vlt. doch ;) ?
Danke Gruß
 
Zuletzt bearbeitet von einem Moderator:
Nein, er würde dir da kein 'a' ausgeben ;)

Du musst dir in den meisten Programmiersprachen einen String als eine folge von Zeichen (char's) vorstellen. Und sowas ist am einfachsten ein Array ;)

Wenn du jetzt nen std::string-Array anlegst, hast du also im übertragenen Sinn nen 2D char-Array.
C++:
std::string array_of_string[5] = { "abc", "def", "geh", "ijk", "lmn" };
std::cout << array_of_string[2][2] << std::endl;
gibt dir somit jetzt nen h aus.

Hab versucht dir es möglichst einfach zu erklären. Exakt sieht das noch etwas anders aus, aber so ist's vom Prinzip her ;)
 
Zurück