好的伙计们,我是初学者,并尝试使用指针将字符串输入到char数组中,然后显示我写的内容。
我想问两件事。首先,如果我不想指定数组的大小,只是希望它扩展为包含我输入的所有字符串..这是怎么回事? 在我输入字符串并显示它之后的第二个...它将不包含字之间的空格... 就像我输入“我爱饼干”...它将显示为“ilovecookies”..那么如何解决?
这是我的小代码......
#include <iostream>
using namespace std;
int main()
{
char *strP , str[100] ;
strP = str ;
for(int i =0 ; i<10 ; i++) cin >> *(strP+i) ;
for(int i =0 ; i<10 ; i++) cout << *(strP+i) ;
return 0;
}
对不起我的愚蠢问题,我对这种语言的初学者说,并且在继续之前不想错过。
提前致谢。
答案 0 :(得分:1)
cin
在遇到空格时总是停止。如果您逐个字符输入,请尝试使用getchar()
。
答案 1 :(得分:1)
1)如果要动态调整字符串大小,则需要使用字符串对象或new
。
2)它不包含空格,因为cin
一次读取一个单词。有几种方法可以解决这个问题。我将使用的是切换到使用scanf和printf而不是cin和cout。或者,正如vivin所说,你可以使用getchar()
编辑:语法
答案 2 :(得分:1)
阵列不能改变它们的大小。您应该使用std::vector<char>
,或者更好地使用您使用std::string
的字符串。