使用 scanf("%c, &ch) 读取字符;
Read characters with scanf("%c, &ch);
我必须输入字符之间有空格。例如,+/8 7 - 9 'n'(当我按Enter时)然后我把它们写进一个字符数组中,像这样:+/89-9.
如何跳过这些空白?
我试着写点什么,但它不工作:
char *arr = new char[1000];
char ch;
scanf("%c", &ch);
int i = 0;
arr[0] = ch;
cout << arr[0];
while (ch != 'n')
{
//scanf("%c", &ch);
scanf("%*[ ]%c", &ch);
cout << (arr[i++] = ch);
}
arr[i++] = 'n';
你已经很接近了
scanf(" %c", &ch);
From the docs:
whitespace characters:格式中的任何单个空白字符中所有可用的连续空白字符输入(就像在循环中调用isspace一样)。请注意,"
"n"
"、"" "
"、""tt"
"等空格无区别在格式字符串。
如果您想跳过n
以外的空白字符并继续逐个阅读(需要#include <cctype>
):
while (ch != 'n') {
scanf("%c", &ch);
if(!isspace(ch)) {
cout << (arr[i++] = ch);
}
}
相关文章:
- 理解boost::asio-async_read在无需读取内容时的行为
- 使用新行和不使用新行读取文件
- 读取文件并输入到矢量中
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 无法找到/读取配置文件.conf-FileIOException
- 如何使用Luacneneneba API正确读取字符串和表参数
- C++将文本文件中的数据读取到结构数组中
- 正在将csv文件读取为双精度矢量
- 为什么 sscanf 无法从一个字符串中读取uint64_t和字符?
- 为什么在读取文件大小时文件IO速度会发生变化
- 正在读取二进制文件(is_open)
- 如何在c++中从文本文件中逐行读取整数
- SSH通过/sbin/SSH无法读取RSA密钥文件(从控制台运行)
- 独立读取-修改-写入顺序
- 从文本文件中读取时钟时间和事件时间并进行处理
- 如何从文本文件中读取值和数组
- 为什么文件名被设置为一个点,而不是在读取矢量中的文件名时
- 使用 scanf("%c, &ch) 读取字符;