+ //
+ // Find all key world position in a string
+ //
+
+ #include <stdio.h>
+ #include <iostream> // cout
+ #include <string> // string
+
+ int main ()
+ {
+ std::string str ("xx23xx67xxabcdxx");
+ std::string key ("xx");
+
+ for (int pos = str.find(key) ; pos >= 0; )
+ {
+ printf( "xx at: %d\n", pos);
+ pos = str.find(key, pos+1);
+ }
+
+ return 0;
+ }
___________OUTPUT____________
xx at: 0
xx at: 4
xx at: 8
xx at: 14
Example 2
+ //
+ // string -> char array
+ // char array -> string
+ //
+
+ #include <stdio.h>
+ #include <string>
+ #include <string.h> //strncpy
+
+ int main () {
+ char c1[]="123";
+ std::string cpp(c1); // char array -> string
+ printf("%s\n", c1);
+
+ char c2[10];
+ for(int x=0; x<sizeof(c2); c2[x]=0, x++); // Reset c2
+ strncpy(c2, cpp.c_str(), sizeof(c2)-1); // string -> char array
+
+ printf("%s\n", c2);
+ return 0;
+ }
___________OUTPUT____________
123
123
Example 3
+ #include <stdio.h>
+ #include <string>
+ #include <sstream>
+ // #include <iostream> cout
+
+ int main()
+ {
+ std::stringstream ss;
+ std::string str;
+ //
+ // int -> string
+ //
+ int i= 20;
+ // ss.clear();
+ // str = std::st_string(i);
+ ss << i;
+ ss >> str;
+ std::cout << "int -> string " << str << std::endl;
+ printf("----------------------------\n");
+ //
+ // string -> int
+ //
+ int ival;
+ ss.clear();
+ ss << str;
+ ss >> ival;
+ std::cout << "string -> int " << ival << std::endl;
+
+ return 0;
+ }
+ int main()
+ {
+ std::stringstream ss;
+ std::string str;
+ //
+ // int -> string
+ //
+ int i= 20;
+ // ss.clear();
+ // str = std::st_string(i);
+ ss << i;
+ ss >> str;
+ std::cout << "int -> string " << str << std::endl;
+ printf("----------------------------\n");
+ //
+ // string -> int
+ //
+ int ival;
+ ss.clear();
+ ss << str;
+ ss >> ival;
+ std::cout << "string -> int " << ival << std::endl;
+
+ return 0;
+ }
沒有留言:
張貼留言