我需要使用以下代码行,并使用sscanf从一个char *字符串中读取日期格式(dd-mm-yyyy):
sscanf(string, "%[^-]-%[^-]-%[^;];", day, month, year)
其中day/month/year是每个元素具有3/3/5个字符的char*字符串。
这种方式可以工作,但是当我尝试将day/month/year作为integer
变量(使用相同的sscanf
)时,我在对它们使用printf
时得到了一个0 0 0
的值。如果我更改sscanf
为
sscanf(string, "%d-%d-%d;", day, month, year)
我遇到了 segmentation fault
错误。
有没有人可以帮帮我?我在使用K&R书籍时,没有找到解决方案。