我想用字符數組中的字符(但我使用字符串構建它)來遍歷並打印字符,如果字符==迭代字符串。但是,第一個打印的字符與所需的字符串不同。最後它有時會增加一個意想不到的字符。迭代通過char字符數組出錯
預期輸出:
我是史蒂夫
輸出:
〜我Stevef
我試圖讓控制檯打印輸出與迭代的字符串,我的意思是這樣的:
A
第一,控制檯打印A
,然後我做回車,你可以在網上看到14和轉向B
,直到輸出所需字符串的第一個字符。 如果輸出的字符與字符相同,則將其放入數組cmem
。並繼續迭代第二個角色,依此類推。
下面的代碼:
#include <iostream>
using namespace std;
//starts here!
int main(){
char hlw[] = "I am Steve.";
char j; //to be iterated.
int hlwstrlen = strlen(hlw);
char cmem[hlwstrlen]; //memorize the correct char.
char convertedChar; //converted char
//iterating begin
for (int ch = 0; ch <= hlwstrlen; ch++){
for (int aschr = 32; aschr <= 126; aschr++){
convertedChar = static_cast<char>(aschr); //this converts to an ascii from an int.
cout << convertedChar << "\r";
if(convertedChar == hlw[ch]){
cout << convertedChar << "\r";
cmem[ch] = convertedChar;
for(int i = 0; i <= ch; i++){
cout << cmem[i];
}
continue;
}
}
}
cout << endl;
return 0;
}
注:對不起,如果我不能完全格式化代碼。我用我的手機打字。
忽略最後三種情況,現在我看到您對註釋做出響應,說您要對輸出進行流式處理,所以不需要使用您使用的臨時字符串。 –