"How to pass String value in between URL in C/C++?"
"How to pass String value in between URL in C/C++?"
我有一个变量,我从用户那里获取字符串值。 现在我想在 URL 中使用该字符串值。 就像我的字符串值是"印多尔"。所以它应该像 URL="awe/Indore/ddsd". 请告诉我如何解决?
我认为首先我们需要知道您正在使用哪种"字符串"类型,并可能提供示例,以便我们更好地为您提供帮助。从我从您的评论中看到的内容来看,您可以先拆分字符串,然后将它们合并在一起。
如果是 C 字符串char*
则可以使用strtok
进行拆分(请参阅另一个主题)。然后与Ehsan Khodarahmi提到的strcat
合并,(见另一个主题)
如果它是一个std::string
字符串,那么你可以尝试我在 c++ 中的实现来拆分字符串std::string
。
std::vector<std::string> splitString(std::string inputString, std::string delimiter){
std::string temp = inputString;
std::vector<std::string> output;
size_t pos = 0;
std::string token;
while ((pos = temp.find(delimiter)) != std::string::npos) {
token = temp.substr(0, pos);
output.push_back(token);
temp.erase(0, pos + delimiter.length());
}
output.push_back(temp);
return output;
}
在您的情况下,您可以做
std::vector<std::string> splitted = spitString("Capital/Madhya", "/");
然后splitted = {"Capital", "Madhya"}
,你可以做
std::string url = splitted[0] + "/Indore/" + splitted[1];
正如人们在评论中所说,你的问题很模糊,所以我的回答可能不会直接帮助你。
更新
如果您使用的是c_str()
那么您可能正在使用std::string
。c_str()
用于将std::string
转换为 C 字符串char*
(请参阅参考)。因此,在这种情况下,您可以使用我提供的代码来帮助您。根据您告诉我的内容,用户输入已传递给var1
.
std::string var1 = "Russia"
而且你已经有了var2
std::string var2 = "Capital/Japan"
然后只需按/
拆分var2
并合并您想要的内容。
std::vector<std::string> splitted = splitString(var2, "/");
std::string result = splitted[0] + "/" + var1 + "/" + splitted[1];
那么你的结果应该是"首都/俄罗斯/日本"。
更新2
首先,感谢这次包含代码。如果可能的话,你应该一直这样做,这样人们就知道该用什么。 注意:要设置代码格式,请用"将代码括起来
现在回答你的问题。你提供了这个
#include <iostream>
#include <vector>
using namespace std;
int main() {
std::string var1 = "Russia";
std::string var2 = "Capital/Japan";
std::vector<std::string> splitted = splitString(var2, "/");
std::string result = splitted[0] + "/" + var1 + "/" + splitted[1];
cout<<result; return 0;
}
你的编译器不喜欢它并说
error: 'splitString' was not declared in this scope
此错误消息基本上说splitString
函数不存在。这是因为您的代码中没有包含我的代码。在某些时候,您会更习惯地阅读这些错误消息。
所以修复是
#include <iostream>
#include <vector>
using namespace std;
std::vector<std::string> splitString(std::string inputString, std::string delimiter){
std::string temp = inputString;
std::vector<std::string> output;
size_t pos = 0;
std::string token;
while ((pos = temp.find(delimiter)) != std::string::npos) {
token = temp.substr(0, pos);
output.push_back(token);
temp.erase(0, pos + delimiter.length());
}
output.push_back(temp);
return output;
}
int main() {
std::string var1 = "Russia";
std::string var2 = "Capital/Japan";
std::vector<std::string> splitted = splitString(var2, "/");
std::string result = splitted[0] + "/" + var1 + "/" + splitted[1];
cout<<result; return 0;
}
- netcat command in c++
- Difference in displaying cv2 Mat
- C++ MFC Libraries in Travis CI
- 如何在OpenSSL中从configuration.h.in获取configuration.h
- 创建具有 new in 函数和"this is nullptr"异常的对象
- IN, OUT, INOUT Parameters
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 有人安装"IITB Simplecpp in mac"吗?
- 从 C 样式字符串中删除子字符串 "in place" 在C++代码中
- 如何修复"error: ‘_1’ was not declared in this scope"?
- Softmax Implementation in C++
- 将 out/in out 参数与 if/switch 的 init 语句一起使用
- IF-nesting in c++
- Gurobi GRBModel and GRBmodel in C++
- Tensorflow Hub in C++
- Centos7 g++ "to_string is not in a member of std"
- InitializeCriticalSectionEx Not Located In KERNEL32.Dll
- 将 lambda 表达式传递给 std::function in C++
- @CPPFLAGS@在 Makefile.in 中意味着什么?
- std::async from std::async in windows xp