这是我一直在测试的东西,只是打印出一堆东西,但有一个案例,由于某种原因,我无法弄清楚.
我需要将一个整数作为参数传递给稍后要使用的函数,但是当我再次将其打印出来以确保我正确存储它时,我得到一个随机数.这是代码的相关部分:
int num_bytes = argv[1];
....
printf("Max number of bytes: %d", num_bytes);
Run Code Online (Sandbox Code Playgroud)
我只向函数传递了一个参数,这是一个int.我也尝试将argv [1]作为int进行转换,但这也没有用.我不确定这是否是printf的问题.如果就是这样,我不介意.我只需要知道我正确地将值存储为int.我知道argv是一个指向字符串的指针数组(我认为C字符串?)但我认为你可以将字符强制转换为整数.
char **argv被认为是一个字符数组(或字符串).您需要argv先将内部值转换为整数.
你可以这样做atoi:
int num_bytes = atoi(argv[1]);
Run Code Online (Sandbox Code Playgroud)