c - 我想在使用写入功能时显示整数
问题描述
1)我需要创建一个函数来显示作为参数输入的数字。该函数必须能够显示 int 类型变量中的所有可能值。
2)原型应该是void ft_putnbr(int nb);
这样的
这是我的代码,
#include <unistd.h>
void ft_putnbr(int nb)
{
write(1, &nb, 1);
}
int main()
{
ft_putnbr(42);
}
结果不是整数,就像.. asciicode 显示“*”
我的代码有什么问题?你能纠正我的代码吗?或建议更合适的方式?
plus) int main 函数会自动给出,所以我只需要制作原型函数
谢谢你的帮助
解决方案
您需要构建数字的字符串表示形式,否则您将打印二进制文件。
void ft_putnbr(int nb)
{
char nbuf[16];
const int len = snprintf(nbuf, sizeof nbuf, "%d", nb);
write(1, nbuf, len);
}
推荐阅读
- google-apps-script - 用于从一张纸复制并粘贴到另一张纸的数组
- php - 验证中的 Laravel 多元化
- docker - Nginx docker容器在不同位置提供相同的静态文件
- javascript - React中如何处理多个状态的数据来过滤数据
- python - 如何使用 websocket 库消除此错误?
- marklogic - marklogic 日志中的这个错误是什么 - XDMP-FORESTNOT、SVC-FILWRT、无效参数
- wpf - wpf - 添加的用户控件不在 ListView 的显示区域时,RelativeSource ActualWidth 绑定错误
- .htaccess - 如何通过 htaccess 强制 https
- vb.net - 具有数据绑定的级联组合框
- twilio - 跳过超时表达式字段在 Twilio Java Helper 库中不可用