我知道这getline(cin,_string);很有效
但这不是:
char* _chArr = new char;
getline(cin,_chArr);
Run Code Online (Sandbox Code Playgroud)
即使这个alson不起作用:
char* _chArr = new char[30];
getline(cin,_chArr);
Run Code Online (Sandbox Code Playgroud)
不是char*一个字符串?
编写一个程序,要求用户输入他或她的名字和姓氏,然后构造,存储和显示第三个字符串,包括用户的姓氏,后跟逗号,空格和名字.使用cstring头文件中的char数组和函数.示例运行可能如下所示:输入您的名字:Flip输入您的姓氏:Fleming这里是单个字符串中的信息:Fleming,Flip
int main()
{
char * fName,*lName,*fullName;
fName = new char;
cin.getline(fName,100);
lName=new char;
cin.getline(lName,100);
fullName=new char[strlen(lName)+strlen(fName)+3];
strncpy(fullName,lName,strlen(lName));
fullName[strlen(lName)]=',';
fullName[strlen(lName)+1]=' ';
char* dummy=(char*)fullName[strlen(lName)+2];//making a pointer to the char after the ' ' char to start copying the first name
strncpy(dummy,fName,strlen(fName));
dummy[strlen(fName)+strlen(lName)+2]='\0';
cout<<endl<<endl<<dummy<<endl;
delete fullName;
delete lName;
delete fName;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
为什么当我指向数组中间的一个字符并开始复制时崩溃???