C - 从命令行参数中获取fread参数

时间:2015-02-02 03:04:52

标签: c

现在我的fread设置如下。我想将bytesize更改为命令行参数。

fread(buffer, filelen, bytesize, fileptr);

我知道所需的类型是' size_t'。所以如果我使用它是正确的:

fread(buffer, filelen, (size_t)argv[1], fileptr);

2 个答案:

答案 0 :(得分:1)

argv包含一个字符串数组,而不是整数。你距离正确的方法并不遥远,因为你需要将这个字符串转换为一个整数,但是你做得不对。 C是其中简单类型转换不解析整数的语言之一。请检查atoi,这可能会有所帮助。

答案 1 :(得分:1)

你可以做这样的事情

int bytesize = atoi(argv[1]);
fread(buffer, filelen, bytesize, fileptr);

argv[1]转换为整数并将其传递给fread()