关于getline()函数,在char和string输入的区别
参考博客
1.在char中的使用:
2.在string中的使用:
关于char字符数组拼接和string字符串拼接方法
参考博客
字符串拼接方法:
1.直接用 + 号
2.利用append()函数
字符数组的拼接方法
1.使用strcpy()和strcat()函数;
const int Size;
int main()
{
cout << "字符数组的拼接方法:" << endl;
char FirstName[Size], LastName[Size];
char FullName[Size*2];
cout << "Enter the FirstName:";
cin.getline(FirstName, Size);
cout << "Enter the LastName:";
cin.getline(LastName, Size);
strcpy_s(FullName, FirstName);
strcat_s(FullName, ",");
strcat_s(FullName, LastName);
cout << "Here is the Information in a sample string:" << FullName << endl;
cout << FullName << endl;
}
在代码编写阶段容易存在的问题:
1.一般char[n]里面的n必须为常量要用const进行修饰,不然会报错。
2.容易提示函数不安全问题;参考博客
关于结构体创建,申明结构体变量,和初始化结构体变量问题
1.结构体初始化方式:
创建结构体,定义结构变量,初始化同时进行;
先创建结构体,再同时定义结构变量和初始化结构体;
先创建结构体,在定义结构变量,后对结构变量成员进行赋值;
参考博客1
参考博客2
2.书写结构体注意的地方:在创建结构体时, struct 结构类型名 {;;;};要用“;”号间隔,在初始化结构体变量时 变量名={,,,}; 要用“,”间隔。
关于cin.getline()面向行输入注意的事项
在做测试题时,当遇到数字和面向行输入同时要出现时,若要先输入数字,则一定要在后面加上cin.get()语句,不然后面的getline()输入就会出现问题。但是当getline()先于数字输入可以正常输入显示。
#include<iostream>
#include<cstring>
using namespace std;
struct Pizza
{
char Company[29];
float Diameter;
float weight;
};
int main()
{
cout << "第八题:--------------" << endl;
Pizza* PPizza = new Pizza;
cout << "Please enter the diameter of Pizza:";
cin >> PPizza->Diameter;
cin.get();//面向行输入和数字输入混合时,要在数字输入后面加上cin.get()语句
cout << "Please enter the Company of the Pizza:";
cin.getline(PPizza->Company,40);
//cin >> PPizza->Company;
cout << "Please enter the Weight of the Pizza:";
cin >> PPizza->weight;
//cout << "Please enter the diameter of Pizza:";
//cin >> PPizza->Diameter;
cout << "Company:" << (*PPizza).Company << "\n" << "Diameter" << (*PPizza).Diameter << "\n" << "Weight:" << (*PPizza).weight << endl;
delete PPizza;
}