如何将 long long 转换为字符串?
How do I convert a long long into a string?
我正在创建一个程序,该程序将用户的数字输入作为 long long,然后涉及一些与单个数字相关的数学运算。我认为最好的方法是将 long long 转换为字符串,然后遍历各个部分。
我试过使用 atoi
但没有用,现在我正在使用 sprintf
如下...
if (count == 13 || count == 15 || count == 16)
{
char str_number[count];
// Converting long card_number to a string (array of chars)
sprintf(str_number, "%lld", card_number);
printf("card number is: %s\n");
return 0;
}
这也不行。
任何人都可以让我走上正轨吗?
在
printf("card number is: %s\n");
你错过了在参数中给出 str_number,行为未定义,做
printf("card number is: %s\n", str_number);
请注意,如果您的 long long
在 64b 上,则字符串大小为 21 就足够了,因为较长的字符串用于 -4611686018427387903
需要 20 个字符以上的最终空字符。
根据您的评论:
Whats the best way to convert the long to a string?
没有标准lltoa所以sprintf家族是正确的方法,如果你害怕写出数组,请注意你可以使用 snprintf
我正在创建一个程序,该程序将用户的数字输入作为 long long,然后涉及一些与单个数字相关的数学运算。我认为最好的方法是将 long long 转换为字符串,然后遍历各个部分。
我试过使用 atoi
但没有用,现在我正在使用 sprintf
如下...
if (count == 13 || count == 15 || count == 16)
{
char str_number[count];
// Converting long card_number to a string (array of chars)
sprintf(str_number, "%lld", card_number);
printf("card number is: %s\n");
return 0;
}
这也不行。
任何人都可以让我走上正轨吗?
在
printf("card number is: %s\n");
你错过了在参数中给出 str_number,行为未定义,做
printf("card number is: %s\n", str_number);
请注意,如果您的 long long
在 64b 上,则字符串大小为 21 就足够了,因为较长的字符串用于 -4611686018427387903
需要 20 个字符以上的最终空字符。
根据您的评论:
Whats the best way to convert the long to a string?
没有标准lltoa所以sprintf家族是正确的方法,如果你害怕写出数组,请注意你可以使用 snprintf