主要初學者在這裏,我怎麼能遍歷用戶輸入的每一個字符使用:通過用戶輸入的每一個字符循環
get(char& c)
我想用它在一個循環做的東西每字符(包含空格),但目前我無法使其正常工作。
如果可以,請提供示例代碼。
感謝
這是我現在所擁有的:
for (char& c : cin.get(char& c)) {
cout << c;
}
主要初學者在這裏,我怎麼能遍歷用戶輸入的每一個字符使用:通過用戶輸入的每一個字符循環
get(char& c)
我想用它在一個循環做的東西每字符(包含空格),但目前我無法使其正常工作。
如果可以,請提供示例代碼。
感謝
這是我現在所擁有的:
for (char& c : cin.get(char& c)) {
cout << c;
}
就我個人而言,我會這樣寫;
std::string s;
while(std::getline(std::cin, s)) {
for(char c : s) {
std::cout << c;
}
}
雖然不要忘記佔用'\ n'分隔符,如果你想保留它。請注意,除非您打開終端緩衝區(非標準),否則無論如何您只能逐行輸入。
請注意,您可以通過發送信號結束文件來結束循環。在linux上,用戶必須按下Ctrl + d。
否則你可以添加一些邏輯到循環中斷。例如,
if(c == 'q') break;
,你可以對輸入的字符循環,直到輸入的字符是enter
(ASCII碼13)
char c;
while ((intVal = (int)cin.get(c)) != 13){
...do processing on the character 'c'
}
或使用
char c;
int intVal=0;
while ((c = cin.get()) != 13){
...do processing on the character 'c'
}
錯誤:'c'未在此範圍內聲明。 – user2891805
謝謝。雖然現在我得到:'得到'沒有在此範圍內申報 – user2891805
然後使用cin.get而不是獲取 – gaurav5430
您可以顯示您迄今爲止所嘗試的內容嗎?我們可以幫助您解決實際問題? – newfurniturey
你可以遍歷'std :: string'。運算符'[]'應該在每個索引處給出字符。 – Mahesh
不,我需要使用get。 – user2891805