如何使用ncurses接收字符串?

我試圖要求用戶輸入一個隨機單詞,但當我嘗試存儲它時,正常的cin不起作用,只是看起來很混亂。我嘗試過其他函數(shù),如wgetstr(),但它需要一個字符而不是字符串。我一直在嘗試多種轉(zhuǎn)換函數(shù),如c_str(),但什么都沒有。有人有什么建議嗎?

? 最佳回答:

getstr()系列函數(shù)確實返回null-terminated字符串,而不僅僅是單個字符。這是C庫,沒有任何std::string類型。

必須為函數(shù)提供合適的大緩沖區(qū)。使用getnstr更安全,因為它限制了讀取字符的數(shù)量。

char buffer[256];
int result = getnstr(buffer,sizeof(buffer)-1);//Make space for '\0'
assert(results!=-1);
buffer[sizeof(buffer)-1] = '\0'; // Force null-termination in the edge case.
size_t length = strlen(buffer);

我不能百分之百確定n讀取字符的限制是否包含空字節(jié),如果它作為strncpy工作,它可能不包含空字節(jié),在這種情況下,最好為它留出一個空間并顯式添加它。

主站蜘蛛池模板: 免费无码AV一区二区| 国产在线精品一区二区在线观看| 国精品无码A区一区二区| 亚洲欧洲一区二区| 成人国产精品一区二区网站公司| 精品免费久久久久国产一区| 国产伦精品一区二区三区女| 国产美女视频一区| 久久久无码精品人妻一区| 国产一区二区三区久久| 一区二区三区免费视频观看| 国产微拍精品一区二区| 少妇激情av一区二区| 99精品国产高清一区二区三区| 日韩a无吗一区二区三区| 蜜桃视频一区二区三区在线观看| av无码一区二区三区| 国产精品综合一区二区三区| 亚洲欧美成人一区二区三区| 无码国产精成人午夜视频一区二区| 一区二区福利视频| 秋霞日韩一区二区三区在线观看| 日本激情一区二区三区| 久久亚洲AV午夜福利精品一区| 精品无码综合一区| 夜色阁亚洲一区二区三区| 国产av一区最新精品| 欧美日本精品一区二区三区| 中文字幕日韩一区| 一区二区三区在线免费看| 亚洲综合av永久无码精品一区二区| 国产精品区AV一区二区| 一本色道久久综合一区| 女人和拘做受全程看视频日本综合a一区二区视频 | 国产一区二区三区国产精品| 日韩一区二区三区四区不卡| 97久久精品无码一区二区| 韩国福利一区二区美女视频| 亚洲日本va一区二区三区 | 无码av中文一区二区三区桃花岛 | 在线日韩麻豆一区|