gpt4 book ai didi

c - Strtol()函数基本c

转载 作者:行者123 更新时间:2023-11-30 17:09:55 25 4
gpt4 key购买 nike

当我使用 strtol() 函数时,当我尝试转换时:

2015-08-12

我希望它转换失败而不是仅转换 2015

int main(int argc, char *argv[])
{
printf("Number of arguments: %d\n", argc);


int i = 1;
while (argc > i)
{

char *p;
int num;

errno = 0;
long conv = strtol(argv[i], &p, 10);

// Check for errors: e.g., the string does not represent an integer
// or the integer is larger than int
if (errno != 0 || *p != '\0' || conv > INT_MAX)
{
printf("this is word:%s\n ",p);
//printf("chyba");
}
else
{
// No error
num = conv;
printf("this is number: %d\n", num);
}

i = i + 1;

}
return 0;
}

最佳答案

否,因为 strol() 等会转换匹配的初始子字符串。但是,如果您要在字符串的其余部分再次调用它,则需要去掉破折号,否则它们将被解释为减号。

关于c - Strtol()函数基本c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33087362/

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