NULL我有一個代碼的副本std::stringstream
內容char * dest
字符串流sgetn返回在iOS 5.1
static size_t copyStreamData(std::stringstream & ss, char * const & source, char * dest)
{
ss.str("");
ss.clear();
ss << source;
size_t ret = ss.rdbuf()->sgetn(dest, (std::numeric_limits<size_t>::max)()) ;
dest[ret] = 0;
return ret;
}
在iOS 5.0及以下能正常工作預期......但在iOS的5.1返回NULL。
我在做什麼錯了?也如何修補我的代碼?
它只是應該複製字符串,然後返回它使用了多少字符,爲什麼不構造它自己的字符串流,如果它應該做我說的話那麼有更簡單的方法來做它。 – 111111 2012-03-26 14:05:32
我做了複製,但是,我想找出這個不工作的原因... – Alkimake 2012-03-26 14:16:16
@Alkimake:其實,你並沒有複製'std :: stringstream'的內容(至少它的內容來自功能)。由於某些奇怪的原因,您將內容從'source'複製到'ss',然後從'ss'複製到'dest'。這裏'ss'的作用是什麼? – 2012-03-26 14:34:03