gpt4 book ai didi

c - 从c中的命令行读取数字

转载 作者:行者123 更新时间:2023-11-30 21:13:20 24 4
gpt4 key购买 nike

假设我有一个变量:

char variableName[256];

如果给我一个数字列表,例如 10 11 12 .. 等,我正在使用,我如何存储来自命令行的输入

fgets(variableName, sizeof(variableName), stdin)

并将其直接转换为 (1,0,1,1, 等),而不是在空格之间转换为 (10, 11, 12, ETC)。

我是否应该使用scanf,并基于空白存储?只是不确定语法/什么是常见的?

谢谢大家!

最佳答案

如果您知道要输入多少个数字,请在使用 fgets 后使用 sscanf 或直接使用 scanf(不推荐)

  int var[NO_OF_INPUTS];
fgets(variableName , sizeof variableName , stdin);
sscanf(variableName , "%d %d %d ... %d" , &var[0] , &var[1] , ... , &var[NO_OF_INPUTS - 1]);

如果您不知道输入的数量,那么您可以创建一个函数,通过计算 fgets 之后的空格数量来计算输入的数字数量,然后可以使用 strtok 在空格之间跳转,strtol 将其转换为数字

关于c - 从c中的命令行读取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26220009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com