gpt4 book ai didi

c++ - 我的输入是否已正确写入数组?

转载 作者:行者123 更新时间:2023-11-28 07:20:06 24 4
gpt4 key购买 nike

#include <iostream>
#include <cstdlib>
#include <cstring>
#include <ctype.h>
#include <cmath>

using namespace std;

int main(int argc, char *argv[])
{
char buffer[100]= {};
int length = 0;

cout << "Enter a string: ";

do
{
cin >> buffer;
}
while(cin.eof());

length = strlen(buffer);
int squareNum = ceil(sqrt(length));

cout << squareNum;
cout << buffer;

}

基本上我要做的是用我输入的字符串填充一个字符数组。但是我相信它只会在出现空格之前写入数组。

Ex. 
Input: this is a test
Output: this

Input:thisisatest
Output:thisisatest

为什么它停在空格处?我很确定它必须与 .eof 循环

最佳答案

while(cin.eof());

读完一个词后你不太可能在eof()。你要

while(! cin.eof());

或者更恰当的说是像这样的循环

while(cin >> buffer);

或者,更好的是,放弃 char 数组并使用 stringgetline

关于c++ - 我的输入是否已正确写入数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19626710/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com