c++中如何将输入的字符串(不知长度)存入数组中?最好用代码回答.

如题所述

#include<iostream>
#include<string>
#include<windows.h>
using namespace std;
int main()
{
string str;
char temp;
cout<<"输入字符串,按回车键结束输入"<<endl;
while((temp=cin.get())!='\n')
{
str +=temp;
}
const int LEN =str.length();
char* dest = new char[LEN];//根据输入字符串的长度,创建字符数组
for(int i = 0;i<LEN;i++) //将字符串保存到字符数组中
{
dest[i]=str[i];
cout<<dest[i];
}
delete dest;
system("pause");
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-05
如果可以使用String类的话那很方便了
先用String类接受输入
再转换为char*

对于“不知长度”的输入,如果我的输入超出了内存的限制,不也是会Fail的么,所以一定有某种“限制”输入的长度。追问

有长度限制,不过在长度限制之内不知长度,能用代码演示一下吗?谢谢.

第2个回答  2013-05-05
char s[255];
cin.getline(s,255)

后边可以用 strlen(s) 获取到实际长度追问

能用代码演示一下吗?谢谢.

追答#include <iostream>
#include <string>
using namespace std;
int main()
{
    char s[255];
    cout<<"请输入不超过 255 个字符的字符串";
    cin.getline(s,255);
    cout<<"你输入的字符串为:"<<s<<endl;
    cout<<"该字符串长度为:"<<strlen(s)<<endl;
    return 0;
}

第3个回答  2013-05-05
#包括
#包括中

无效的主要()

{

INT I,J;

个char [4] [ 20],[20];

(I = 0; <4; + +)

得到([]);

(I = 0 <4; + +)

(J = 0; J <3-I,J + +)

(STRCMP([J],[J +1)] > 0)

{

STRCPY(T,S [J]);

STRCPY([J],[J +1]);,

STRCPY([ +1],T);

}

的printf(“排序后:\ N”);

(i = 0; <4 + +)

看跌期权([]);
}
第4个回答  2013-05-05
#include<stdio.h> void main() {char ch[100]; scanf("%s",ch); printf("%s",ch);}追问

那个我是学c++的,看不懂c,能用c++编一段吗?谢谢.

追答

会动态定义长度了么(new)

追问

动态定义长度?不大清楚.

追答

我用手机不太好打代码,明天再把代码给你把,实现方法其实挺多的……
方案1:
#include
#include
using namespace std;
int main()
{
string str;
cin>>str;
cout
#include
using namespace std;
int main()
{
char s[255];
cout
using namespace std;
int main()
{
char s[255];
cout>s;//注意!!
cout<<"你输入的字符串为:"<<s<<endl;
return 0;
}

c++中如何将输入的字符串(不知长度)存入数组中?最好用代码回答.
int main(){ string str;char temp;cout<<"输入字符串,按回车键结束输入"<<endl;while((temp=cin.get())!='\\n'){ str +=temp;} const int LEN =str.length();char* dest = new char[LEN];\/\/根据输入字符串的长度,创建字符数组 for(int i = 0;i<LEN;i++) \/\/将字符串保存...

C++中如何将带空格的字符串录入到一个数组中?
方法一:getline()读入整行数据,使用回车键输入的换行符来确定输入结尾。调用方法:cin.getline(str, len)第一个参数str用来存储输入行的数组名称,第二个参数是要读取的字符数。方法二:cin.get(str, len)两者都是读取一行输入,直至换行符。然后,getline将换行符丢弃,而get()将换行符保留在输入序...

C++中如何输入一串数字然后按位保存在数组中
最简单的就是gets输入函数,用一个char数组接收即可。

C++中如何将带空格的字符串录入到一个数组中
include <string> using namespace std;int main(){ cout << "输入字符串的长度:" << endl;int num; \/\/你要输入字符串的长度 cin >> num;getc(stdin); \/\/去掉输入num的换行符 char * p = new char [num + 1]; \/\/动态申请你要输入字符串的长度 memset(p, 0, num+1); ...

求大家帮助。c++中怎么将随机输入的一串数字储存在一个一维数组中?越简...
char a[100];cin >>a;就可以了,有个限制,输入的长度不能大于100个字节。

c++中如何将一串数字赋给一个数组
c++中,输入整数时,一定会以空白字符(空格,TAB,回车)结束,而这个空白符号,不会被丢弃,直到有命令去读取。因此,可以,在输入一个数据后,加一个读字符操作,以判断是不是输入结束:读到的字符是回车,则结束读数据,否则,继续读下一个数据。参考代码:include <iostream>using namespace std ;...

c++中 怎么便捷的把字符输入到一个一维数组中呢?
从键盘上输入一个字符串到一维字符数组中,另外再输入一个字符,在字符数组中删除所有 从键盘上输入一个字符串到一维字符数组中,另外再输入一个字符,在字符数组中删除所有该字符(即指定字符),程序输出完成删除操作后的结果字符串。提示:利用for循环找到指定字符,将指定字符找到,然后“赋值覆盖”,最后...

C++ 如何将输入的数读入数组
1.首先用一个字符数组存储用户所输入的所有数据 (包括空格)2.再从这个数组中将数据提取出来存放到数组array中 存在问题.这个程序还未写完整.很多BUG都没考虑.1.当用户输入的不是数字的时候未判断.2.用户输入的第一个字符为'空格'.等...\/ include<stdio.h> include<stdlib.h> void main(){ int ...

c++如何实现从键盘上输入不定个数的数字,然后在把他存到整形数组...
用while(cin>>elem){}来存储

c++从屏幕输入16进制字符串怎么存到数组里
首先,用char存储12个字节,需要声明一个长度为13的数组,最后一位放结束符'\\0'然后,普通的char范围为0-127,而2位的十六进制数(假设都是正整数)范围为0-255,需要使用unsigned char类型存储,否则大于127的数字会溢出并被存为一个不正确的数,如果你的数字包括的负数,这样写也是会溢出的。以下...

相似回答