Atoi 仅返回 char* 参数的第一个数字
atoi only returning first digit of char* parameter
当使用参数 15 运行我的程序时,atoi 返回 1。 Atoi 仅返回第一个数字。 这是应该发生的吗? 我该如何解决?
int _tmain(int argc, char* argv[])
{
int a = atoi(argv[1]);
}
它应该转换整个以 NUL 结尾的字符串:
#include <iostream>
#include <stdlib.h>
int main() {
std::cout << atoi("15");
}
结果:
15
从 _tmain 更改为 main 解决了这个问题。
相关文章:
- 代码以查找数组中的最大数字,但它仅将第一个数字显示为最大数字. 有人请告诉我为什么
- 我必须更改我的数字最后一个数字和第一个数字,但不要使用仅带有整数或循环的函数.例如从 12345 到 52341
- 为什么字符串流只读取整数中的第一个数字?如何使它只在空白处移动?
- 说单精度碰撞的第一个数字是 131072.02 是否正确?(阳性,将 2 位数字视为尾数)
- 如何在 c++ 中将第一个数字移动到数字的末尾
- C 搜索算法第一个数字= n
- 为什么我的数组只接受它们中的第一个数字
- 给定一个数字n,打印序列中大于或等于n的第一个数字
- 如何从文件中获取数字行并忽略第一个数字
- 打印由用户定义的数组,第一个数字确定单词的大小,第二个数字确定行的大小
- 两个非常大的数字的乘积的第一个数字
- for循环在将第一个数字放入数组后退出
- 查找双精度数组中的第一个数字
- 获取线 CIN 忽略输入中的第一个数字
- 默认值仅适用于 8 和 9.之后,它使用第一个数字并将其视为 1,2,3
- Atoi 仅返回 char* 参数的第一个数字
- 如何从C++文件中读取第一个数字
- c++中的随机数生成第一个数字不是随机的
- 如何打印输入的第一个数字?
- 计算文本文件每行的第一个数字