07/12/20 18:25:18
>>33がリッチなのはわかる。
でも、ただGetBuffer/ReleaseBufferが面倒なだけだったら、単純なユーティリティクラスでいいんじゃない?
class GR {
CString str;
size_t siz;
LPTSTR p;
public:
~GR() {
str.ReleaseBuffer();
}
GR(CString &str_, size_t size_) : str(str_), p(NULL), siz(0) {
p = str.GetBuffer(size);
siz = size_;
}
operator LPTSTR() { return p; }
size_t size() const { return siz; }
};
多分こんな風に使えるはず。
CString s;
{ GR buf(s, 1000); GetCurrentDirectory(buf, buf.size()); }
思いつきで書いただけで、コンパイルもテストもしてないけど。