c - 如何将 long long 转换为字符串?
问题描述
我正在创建一个程序,该程序将用户的数字输入作为 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 个字符以上的最终空字符。
根据您的评论:
将 long 转换为字符串的最佳方法是什么?
没有标准的lltoa所以sprintf系列是正确的方法,注意如果你害怕写出数组,你可以使用snprintf
推荐阅读
- javascript - 隐藏/显示 IONIC 中输入元素焦点的页脚
- macos - Mac 操作系统有 `tcp_fin_timeout` 选项吗?
- machine-learning - 神经网络中的神经元在哪里共享它们的预测结果(学习函数)?
- angularjs - Angularjs:根据用户选择使用json文件
- php - 创建 PDF Laravel 5.5?
- python - 在不使用嵌套循环的情况下读取文件和文件夹
- android-studio - 如何在本地将 ok.io 导入 android studio?
- python - 在python中重复执行一个函数并根据某些条件停止它的最佳方法是什么?
- firebase-realtime-database - 问题相关的 Firebase 数据库
- sql - 从 SQL 加载器中加载数据的位置获取 csv 文件的路径。