C++菜鸟日记2

关于getline()函数,在char和string输入的区别

参考博客

1.在char中的使用:

2.在string中的使用:

关于char字符数组拼接和string字符串拼接方法

参考博客
字符串拼接方法:

1.直接用 + 号

2.利用append()函数

字符数组的拼接方法

1.使用strcpy()和strcat()函数;

cpp 复制代码
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()先于数字输入可以正常输入显示。

cpp 复制代码
#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;
}
相关推荐
寻星探路18 小时前
测试开发话题10---自动化测试常用函数(2)
java·前端·python
敲上瘾18 小时前
Elasticsearch从入门到实践:核心概念到Kibana测试与C++客户端封装
大数据·linux·c++·elasticsearch·搜索引擎·全文检索
鸢尾掠地平18 小时前
Python中常用内置函数上【含代码理解】
开发语言·python
api_1800790546018 小时前
请求、认证与响应数据解析:1688 商品 API 接口深度探秘
java·大数据·开发语言·mysql·数据挖掘
陈果然DeepVersion18 小时前
Java大厂面试真题:Spring Boot+Kafka+AI智能客服场景全流程解析(十二)
java·spring boot·ai·kafka·面试题·向量数据库·rag
yours_Gabriel18 小时前
【设计模式】UML和设计原则
java·设计模式·uml
唐古乌梁海19 小时前
【Java】JVM 内存区域划分
java·开发语言·jvm
低调小一19 小时前
Android Gradle 的 compileOptions 与 Kotlin jvmTarget 全面理解(含案例)
android·开发语言·kotlin
陈果然DeepVersion19 小时前
Java大厂面试真题:Spring Boot+Kafka+AI智能客服场景全流程解析(九)
java·人工智能·spring boot·微服务·kafka·面试题·rag
dllxhcjla19 小时前
css第一天
java·前端·css