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

 我来答
Frank7258
2011-05-26 · TA获得超过1503个赞
知道小有建树答主
回答量:381
采纳率:0%
帮助的人:552万
展开全部
如果光是输入输出是很简单的,但是严格的不定长用C实现起来却不是这么容易,需要一个一个字符读入,然后动态分配内存。楼上的定义一个长度为1000的缓冲区严格意义不符合LZ的要求,超过1000个字符就不行了。

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

#include <iostram>
#include <string>

using namespace std;

int main()
{
string str;
cin>>str; //多长都不会有问题,只要内存足够。
}
L_o_o_n_i_e
2011-05-26 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5196万
展开全部
C:
#include <stdio.h>
int main()
{
char string [256];
printf ("Insert your full address: ");
gets (string); // 输入
printf ("Your address is: %s\n",string); // 输出
return 0;
}

C++
#include <iostream>
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;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
panweiy
2011-05-26 · TA获得超过1239个赞
知道大有可为答主
回答量:760
采纳率:0%
帮助的人:718万
展开全部
#include <stdio.h>
#define MAXN 1000
char a[ MAXN ];
int main()
{
printf("请输入一串字符:\n");
while( gets(a) )
{
puts(a);
printf("请输入一串连续的字符:\n");
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式