不用string
时间: 2023-07-21 16:19:18 浏览: 50
好的,下面是不使用 `string` 类型的 C++ 代码实现:
```cpp
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
// 获取输入的日期
int birth_year, birth_month, birth_day, today_year, today_month, today_day;
scanf("%d-%d-%d", &birth_year, &birth_month, &birth_day);
scanf("%d-%d-%d", &today_year, &today_month, &today_day);
// 根据题目要求计算天数
int days = (today_year - birth_year) * 365 + (today_month - birth_month) * 30 + (today_day - birth_day);
// 输出结果
cout << days << endl;
return 0;
}
```
这个实现方式直接使用 `scanf` 函数来读取输入的日期,不需要使用 `string` 类型。同时,由于输入的日期中间是由 `-` 分隔的,所以可以直接使用该符号来进行读取,无需再使用 `char` 类型的变量。
相关问题
如果不用string文件呢
如果不使用string文件,你可以使用char数组来存储字符串。在C++中,char数组可以用于存储一个字符串,每个字符都被存储在数组的一个元素中。你可以通过循环遍历数组来访问和操作字符串中的每个字符。例如,你可以使用以下代码创建一个char数组来存储一个字符串:
```c++
char myString[] = "Hello World!";
```
这将创建一个名为myString的char数组,并将字符串"Hello World!"复制到该数组中。你可以使用以下代码打印该字符串:
```c++
cout << myString;
```
这将输出"Hello World!"到控制台。
可以不用String.class吗
当使用RestTemplate发送请求并获取响应时,你可以选择不使用`String.class`来指定响应的类型。相反,你可以使用其他类型来解析响应结果。
例如,如果你期望响应结果是一个JSON对象,你可以定义一个包含响应字段的Java类,并使用该类来解析响应。假设你期望的响应如下:
```json
{
"openid": "OPENID",
"session_key": "SESSION_KEY"
}
```
你可以创建一个`LoginResponse`类来表示这个响应:
```java
public class LoginResponse {
private String openid;
private String session_key;
// getters and setters
}
```
然后,你可以将`LoginResponse.class`传递给`RestTemplate`的方法来指定响应的类型:
```java
RestTemplate restTemplate = new RestTemplate();
String appId = "YOUR_APP_ID";
String appSecret = "YOUR_APP_SECRET";
String code = "USER_CODE";
String url = "https://api.weixin.qq.com/sns/jscode2session?appid=" + appId + "&secret=" + appSecret + "&js_code=" + code + "&grant_type=authorization_code";
ResponseEntity<LoginResponse> response = restTemplate.getForEntity(url, LoginResponse.class);
if (response.getStatusCode() == HttpStatus.OK) {
LoginResponse responseBody = response.getBody();
// 处理响应结果
} else {
// 处理请求失败的情况
}
```
这样,`RestTemplate`将会将响应的JSON数据解析为`LoginResponse`对象,并且你可以通过`responseBody`访问相应字段。
使用具体的类型来解析响应可以使代码更加类型安全,并且能够更方便地使用解析后的数据。希望能够帮到你!如果还有其他问题,请随时提问。