关于c的,求高手解决方法

关于c的,求高手
在不知道用户要输入的字符长度的情况下,如何定义和调用数组或指针?

------解决方案--------------------
数组的话,必须要知道长度,否则无法初始化,一个可行的方法是定义一个足够大的buffer,尽量避免越界问题,或者改用vector,把用户的输入一个一个往里压。
------解决方案--------------------
不知道你的要求是不是这样的:
C/C++ code

    char *str;
    printf("输入数:\n");
    scanf("%s",&str);
    printf("%s\n");

------解决方案--------------------
额,其实我本来是想打出str的,忘了写,但是不知道为什么程序能把输入的字符串打出来;然后我在printf里面加了str,反而打不出来了,我晕死。
------解决方案--------------------
探讨

数组的话,必须要知道长度,否则无法初始化,一个可行的方法是定义一个足够大的buffer,尽量避免越界问题,或者改用vector,把用户的输入一个一个往里压。

------解决方案--------------------
用vector把,可以保证是连续内存的。

C/C++ code


int main()
{
   char c;
   vector<char> v_data;
   while ((c = getchar()) != '\n')
   {
        v_data.push_back(c);
   }
   return 0;
}

------解决方案--------------------
探讨不知道你的要求是不是这样的:
C/C++ code

char *str;
printf("输入数:\n");
scanf("%s",&amp;str);
printf("%s\n");