我使用下面的代码找到一个字符串std::vector的string类型.但是如何返回特定元素的位置?
码:
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
vector<string> vec;
vector<string>::iterator it;
vec.push_back("H");
vec.push_back("i");
vec.push_back("g");
vec.push_back("h");
vec.push_back("l");
vec.push_back("a");
vec.push_back("n");
vec.push_back("d");
vec.push_back("e");
vec.push_back("r");
it=find(vec.begin(),vec.end(),"r");
//it++;
if(it!=vec.end()){
cout<<"FOUND AT : "<<*it<<endl;
}
else{
cout<<"NOT FOUND"<<endl;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
FOUND AT : r
预期产出:
FOUND AT : 9
我使用以下代码替换system dateWindows操作系统中的格式的特殊字符.
但我只能替换一个角色.
码:
#include <iostream>
#include <string>
using namespace std;
int main ()
{
string str("10/16/13");
string str2("/");
str.replace(str.find(str2),str2.length(),"-");
cout << str << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
10-16/13
Run Code Online (Sandbox Code Playgroud) 这段代码在哪里做错了?我只需要char类型,请不要建议使用std::string.
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char *mystring="C:/windows";
char last_char;
last_char = mystring[strlen(mystring)-1];
cout<<"Input: " <<mystring<<endl;
if(strcmp(last_char,";")!=0)
{
strcat(mystring,";");
}
cout<<"Output: "<<mystring<<endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
Compilation error time: 0 memory: 3340 signal:0
prog.cpp: In function ‘int main()’:
prog.cpp:7:17: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
char *mystring="C:/windows";
^
prog.cpp:11:25: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
if(strcmp(last_char,";")!=0)
^
In file included from prog.cpp:2:0:
/usr/include/string.h:140:12: error: initializing …Run Code Online (Sandbox Code Playgroud)