gpt4 book ai didi

c++ - 如何在 char 数组的特定索引处获取实际值

转载 作者:行者123 更新时间:2023-11-27 23:05:04 25 4
gpt4 key购买 nike

我正在制作一个用于日期验证的程序。我以 MM/DD/YYYY 的形式接收用户的输入并将其存储为字符数组。

首先,我尝试通过转换将其分解为月份、日期和年份的 int 变量

 char UserDate[10];
int month = 00, day = 00, year = 0000;
cout << "Enter a date in the format of MM/DD/YYYY" << endl;
cin >> UserDate;
month = (int)UserDate[0] + (int)UserDate[1];
day = (int)UserDate[3] + (int)UserDate[4];
year = (int)UserDate[6] + (int)UserDate[7] + (int)UserDate[8] + (int)UserDate[9];

然后我试了一下没有转换

 char UserDate[10];
int month = 00, day = 00, year = 0000;
cout << "Enter a date in the format of MM/DD/YYYY" << endl;
cin >> UserDate;
month = UserDate[0] + UserDate[1];
day = UserDate[3] + UserDate[4];
year = UserDate[6] + UserDate[7] + UserDate[8] + UserDate[9];

问题是我无法从数组索引中获取实际值。对于输入的日期 01/01/2014,我得到的结果如下:

month = 48'0' + 49'1'; //months value is 97
day = 48'0' + 49'1'; //days value is 97
year = 50'2' + 48'0' + 49'1' + 52'4'; //years value is 199

无论我是否将 char 转换为 int,上述两种方法都会发生这种情况。由于没有 UserDate[1].Value,我如何获取存储在我想要的索引处的值??

最佳答案

转换不会将 char 转换为 int。减去 '0' 以获得 int 值。

month = 10 * (UserDate[0] - '0') + UserDate[1] - '0';

关于c++ - 如何在 char 数组的特定索引处获取实际值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24234243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com