c⼀c++中如何输入输出一个不定长带空格的字符串?求具体例子代码~

2025-04-03 13:11:28
推荐回答(3个)
回答1:

如果光是输入输出是很简单的,但是严格的不定长用C实现起来却不是这么容易,需要一个一个字符读入,然后动态分配内存。楼上的定义一个长度为1000的缓冲区严格意义不符合LZ的要求,超过1000个字符就不行了。

用C++倒是会很容易,stl的string模板类自己动态管理内存的:

#include
#include

using namespace std;

int main()
{
string str;
cin>>str; //多长都不会有问题,只要内存足够。
}

回答2:

C:
#include
int main()
{
char string [256];
printf ("Insert your full address: ");
gets (string); // 输入
printf ("Your address is: %s\n",string); // 输出
return 0;
}

C++
#include
using namespace std;

int main () {
char name[256], title[256];
cout << "Enter your name: ";
cin.getline (name,256); // 输入

cout << "Enter your favourite movie: ";
cin.getline (title,256); // 输入
cout << name << "'s favourite movie is " << title; // 输出
return 0;
}

回答3:

#include
#define MAXN 1000
char a[ MAXN ];
int main()
{
printf("请输入一串字符:\n");
while( gets(a) )
{
puts(a);
printf("请输入一串连续的字符:\n");
}
return 0;
}