打印空格字符的值

Printing a value for the space character?

本文关键字:字符 空格 打印      更新时间:2023-10-16

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

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==' '),但没有成功。

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

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