在C语言中,如何将字符串的各个部分转换成不同的整数?
假设我以YYYY-MM-DD格式输入日期;例如:在C语言中,如何将字符串的各个部分转换成不同的整数?,c,C,假设我以YYYY-MM-DD格式输入日期;例如: char date[10]; scanf("%s",&date); 我如何提取带有数字的部分,并将它们转换成整数,如 int年、月、日?使用strtol() 需要错误检查、验证,您需要11个字节用于“YYYY-MM-DD”。。。不要忘记'\0'不要将&与数组一起使用---scanf(“%s”,日期)将数组隐式转换为指向其第一个元素的指针:scanf needsIf正在处理的日期/时间信息,考虑POSIX是否可以使用。
char date[10];
scanf("%s",&date);
我如何提取带有数字的部分,并将它们转换成整数,如
int年、月、日代码>?使用strtol()
需要错误检查、验证,您需要11个字节用于“YYYY-MM-DD”
。。。不要忘记'\0'
不要将&
与数组一起使用---scanf(“%s”,日期)代码>将数组隐式转换为指向其第一个元素的指针:scanf needsIf正在处理的日期/时间信息,考虑POSIX是否可以使用。在这种情况下,这可能有些过分,但在其他情况下可能会很有用,特别是当您还需要处理时间信息时。这也可能不是你的导师在这个练习中所想的。一个同等的问题(从字符串中读取数字)以前不是被问了一百次吗?
2019-06-17
char p[] = "2020-11-03";
char *q;
int n1 = strtol(p, &q, 10);
int n2 = strtol(q + 1, &q, 10);
int n3 = strtol(q + 1, 0, 10);