c – 有没有办法获得std:string的缓冲区
作者:互联网
有没有办法让std :: string得到“原始”缓冲区?
我在考虑类似于CString :: GetBuffer()的东西.例如,使用CString我会这样做:
CString myPath;
::GetCurrentDirectory(MAX_PATH+1, myPath.GetBuffer(MAX_PATH));
myPath.ReleaseBuffer();
那么,std :: string有类似的东西吗?
解决方法:
使用std :: vector< char>如果你想要一个真正的缓冲区.
#include <vector>
#include <string>
int main(){
std::vector<char> buff(MAX_PATH+1);
::GetCurrentDirectory(MAX_PATH+1, &buff[0]);
std::string path(buff.begin(), buff.end());
}
标签:c,stl,winapi,stdstring 来源: https://codeday.me/bug/20191006/1860895.html