使用数组和指针输入字符串

时间:2010-02-12 15:15:10

标签: c++ string pointers

好的伙计们,我是初学者,并尝试使用指针将字符串输入到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;
}

对不起我的愚蠢问题,我对这种语言的初学者说,并且在继续之前不想错过。

提前致谢。

3 个答案:

答案 0 :(得分:1)

cin在遇到空格时总是停止。如果您逐个字符输入,请尝试使用getchar()

答案 1 :(得分:1)

1)如果要动态调整字符串大小,则需要使用字符串对象或new

2)它不包含空格,因为cin一次读取一个单词。有几种方法可以解决这个问题。我将使用的是切换到使用scanf和printf而不是cin和cout。或者,正如vivin所说,你可以使用getchar()

编辑:语法

答案 2 :(得分:1)

阵列不能改变它们的大小。您应该使用std::vector<char>,或者更好地使用您使用std::string的字符串。