in einem string eine bestimmte zeichenfolge suchen.....
-
hi
ich will in einem string eine bestimmte zeichenfolge suchen...
ich lese mit zuerst eine zeile ein und will dann schaun ob das zeichen: # vorhanden ist oder nicht!!!!!
fgets(text1,100,f1);
message=strtok(text1,"#");
strtok.....ich hab geseh das such nach dem ersten zeichen im string!!!! aber wie weiß ich das kein zeichen gefunden wurde??????????
if (message == NULL)
kein ziehen gefunden....
-
*ich will in einem string eine bestimmte zeichenfolge suchen...
*C:
char strtok( char strToken, const char* strDelimit );**
... returns a pointer to the next token found in strToken.
... returns NULL when no more tokens are found.auch nicht schlecht:
char strstr( const char string, const char* strCharSet );**Überarbeitetes Beispiel aus MSDN:
#include <cstring> #include <cstdio> #include <conio.h> char str[] = "lazy"; char string[] = "The quick brown dog jumps over the lazy fox"; char fmt1[] = " 1 2 3 4 5"; char fmt2[] = "12345678901234567890123456789012345678901234567890"; int main( ) { char* pdest; int result; printf( "String to be searched:\n\t%s\n", string ); printf( "\t%s\n\t%s\n\n", fmt1, fmt2 ); pdest = strstr( string, str ); result = pdest - string + 1; if( pdest != NULL ) printf( "%s found at position %d\n\n", str, result ); else printf( "%s not found\n", str ); getch(); } /* Output: String to be searched: The quick brown dog jumps over the lazy fox 1 2 3 4 5 12345678901234567890123456789012345678901234567890 lazy found at position 36 */
C++:
basic_string::find
size_type find(E c, size_type pos = 0) const;
size_type find(const E* s, size_type pos = 0) const;
size_type find(const E* s, size_type pos, size_type n) const;
size_type find(const basic_string& str, size_type pos = 0) const;Each member function finds the first subsequence in the controlled sequence, beginning on or after position pos, that matches the operand sequence specified by the remaining operands. If it succeeds, it returns the position where the matching subsequence begins. Otherwise, the function returns npos.
static const size_type npos = -1;
Datentyp string:
typedef basic_string<char> string;string ist eine Spezialisierung der Templateklasse basic_string für Elemente vom Typ char.
Beispiel von oben auf C++ umgesetzt:
#include <string> #include <iostream> using namespace std; void wait() { std::cin.clear(); std::streambuf* pbuf = std::cin.rdbuf(); std::streamsize size = pbuf->in_avail(); std::cin.ignore(size); std::cin.get(); } int main() { string substr = "lazy"; string str = "The quick brown dog jumps over the lazy fox"; string fmt1 = " 1 2 3 4 5"; string fmt2 = "12345678901234567890123456789012345678901234567890"; cout << "String to be searched:" << endl << "\t" << str << endl; cout << "\t" << fmt1 << endl << "\t" << fmt2 << endl << endl; int dest = str.find(substr); if (dest != -1) cout << "\"" << substr << "\"" << " found at position " << dest + 1 << endl; else cout << "\"" << substr << "\"" << " not found" << endl; wait(); }
-
Bitte keine Crosspostings!
Scheint mal wieder ne neue Mode zu sein...:(
mfg
v R