【发布时间】:2017-08-31 14:52:03
【问题描述】:
我想用 char 数组中的 char 进行迭代(但我用字符串构建它)并在字符 == 迭代字符串时打印该字符。但是,第一个打印的字符与所需的字符串不同。而且它有时会在结尾添加一个意想不到的字符。
预期输出:
我是史蒂夫
输出:
~我是史蒂夫
我正在尝试让控制台使用迭代字符串打印输出,我的意思是这样的:
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;
}
注意:如果我不能完美地格式化代码,我很抱歉。我用手机打字。
【问题讨论】: