getline() and char array
getline() and char array
很抱歉,我知道这是一个基本问题,但我在任何地方都找不到答案。也许我没有意识到关键词。问题是:
我想从用户那里获取输入,这些输入将存储在check[]
数组中,然后我通过它查看输入是有效还是无效(如果像SpaceSpace+0000[i=1-5]
一样有效)。
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <iomanip>
#include <string>
#include <cstring>
void main(){
char check[7];
for(i=0;i<7;i++){
check[i]='1';
};
//int check[4];
cin.getline(check,4);
bool cond=1;
for(i=0;i<7;i++){
cout<<check[i];
};
}
但是当我打印(cout
)数组时,我意识到这一点:输入是33
,array[]
是"
33'
空间'1111"
,我这里的问题是输出中的空格是什么意思以及我如何处理它(忽略、删除或任何东西)。
问题是istream::getline
读取输入,然后将一个以 null 结尾的字节字符串写入数组。
您看到的"空格"只是空终止符' '
。
如果要读取原始的无格式字符,请使用循环一次读取一个字符(检查eof
和换行符):
char ch;
// Read up to four character, or until there's an error or end-of-file,
// or until you get a newline
for (unsigned i = 0; i < 4 && cin.get(ch) && ch != 'n'; ++i)
{
check[i] = ch;
}
相关文章:
- 循环遍历标准的正确方法::array<char*, N>
- 为什么 char 可以在 std::array 中初始化为 nullptr,而不是单独初始化?
- 从 std::string 到 std::array<char,size> 的 memcopy 额外数据是否是一种未定义的行为?
- 如何将 std::array<char, N> 转换为 char (&dest)[N]?
- char array[sizeof(Message)]; vs char* array = new char[sizeo
- Picky STD :: String Char Array构造函数
- constexpr static std::array<const char *,5> 无法使用 MSVC2013 进行编译
- getline() and char array
- 当使用Char Array和= Operator启动字符串时,该功能被调用
- 如何在 C++ 中安全地为 char *array 重新分配内存(它适用于自定义字符串类)
- 使用 char*array 存储条形图的条形图,以便我可以动态制作它并作为字符串返回
- "static const char array"可以在 C 语言上包含变量成员吗
- 将Char-Array铸造成C 的POD阵列
- C++ 2D Char array
- cython char array[]中的c++标头包装声明convert
- Char Array VS Char *
- 使用std::cin对出界char-Array进行错误检查
- 声明并初始化指针到指针的char-array
- std::string vs char array for static const
- C++ char* array