打印空格字符的值?

时间:2014-04-21 14:43:19

标签: c++

我正在制作一个程序,使用一系列条件语句将英语翻译成摩尔斯电码。我正在使用以下功能:

void english (char text1){
    if (text1=='a'||text1=='A'){cout<<".- ";}
    else if (text1=='b'||text1=='B'){cout<<"-... ";}
.
.
.
    else if (text1=='z'||text1=='Z'){cout<<"--.. ";}
    else if (text1==' '){cout<<"/";}
}

这是一个非常简单的问题。当输入中有空格字符时,我无法让我的程序打印任何东西;它应该打印一个斜线。我也试过了else if (isspace(text1))而不是else if (text1==' '),但没有运气。

1 个答案:

答案 0 :(得分:1)

问题不在于您发布代码的功能中。问题出在读取输入的代码中。例如,你可能需要使用std :: getline(cin,line)来获得整个行,其中空格完整,或者更容易,一次获得一个字符:

for (char ch; cin.get(ch); ) {
  english(ch);
}