我见过很多类似的问题,但似乎没有任何工作可以用于我的代码,我想我忽略了一些基本的东西,也许你可以提供帮助。将std :: string转换为char数组
现在我正在构造一个字符串作为请求发送到winsock发送函数,它需要发送一个char []。我需要将我的std :: string转换为char数组(char [])。
目前,这是工作的要求:
char request [] = "GET /gwc/cgi-bin/fc?client=udayton0.1&hostfile=1HTTP/1.0\nHost:www.gofoxy.net\n\n";
但我需要改变,以相同的数据结构的请求的字符串。
我感谢任何帮助!
编辑:
我可以将字符串转换为char *,但我怎么可以用它来获得一个 字符数组?我希望我不会让它更混乱。这里有 两家生产焦炭明星的时候我跑不与发送 要求兼容的尝试:
//convert request into a char[]
//char *req_ch = new char[req_str.size()+1];
//hostCh[req_str.size()] = 0;
//memcpy(req_ch, req_str.c_str(), req_str.size());
//char * req = new char[req_str.size() +1];
//std::copy(req_str.begin(), req_str.end(), req);
//req[req_str.size()] = '\0';
是不是'c_str()'你在找什么,它返回一个指针? –
那么一个非const字符数组的字符串?我会用一个用迭代器构造的vector来使用'vector :: data()'。 – chris
@gosly,一个数组在传入函数时会衰减为一个指针,所以传递一个指针并不重要。 – chris