我試圖要求用戶輸入一個隨機單詞,但當我嘗試存儲它時,正常的cin
不起作用,只是看起來很混亂。我嘗試過其他函數(shù),如wgetstr()
,但它需要一個字符而不是字符串。我一直在嘗試多種轉(zhuǎn)換函數(shù),如c_str()
,但什么都沒有。有人有什么建議嗎?
我試圖要求用戶輸入一個隨機單詞,但當我嘗試存儲它時,正常的cin
不起作用,只是看起來很混亂。我嘗試過其他函數(shù),如wgetstr()
,但它需要一個字符而不是字符串。我一直在嘗試多種轉(zhuǎn)換函數(shù),如c_str()
,但什么都沒有。有人有什么建議嗎?
公眾號:1024技術圈
?? 提供互聯(lián)網(wǎng)知識和資訊,分享IT前沿技術,熱門資源,大廠面試題 ??
getstr()
系列函數(shù)確實返回null-terminated字符串,而不僅僅是單個字符。這是C庫,沒有任何std::string
類型。必須為函數(shù)提供合適的大緩沖區(qū)。使用
getnstr
更安全,因為它限制了讀取字符的數(shù)量。我不能百分之百確定
n
讀取字符的限制是否包含空字節(jié),如果它作為strncpy
工作,它可能不包含空字節(jié),在這種情況下,最好為它留出一個空間并顯式添加它。