现在我的fread
设置如下。我想将bytesize
更改为命令行参数。
fread(buffer, filelen, bytesize, fileptr);
我知道所需的类型是' size_t'。所以如果我使用它是正确的:
fread(buffer, filelen, (size_t)argv[1], fileptr);
答案 0 :(得分:1)
argv
包含一个字符串数组,而不是整数。你距离正确的方法并不遥远,因为你需要将这个字符串转换为一个整数,但是你做得不对。 C是其中简单类型转换不解析整数的语言之一。请检查atoi,这可能会有所帮助。
答案 1 :(得分:1)
你可以做这样的事情
int bytesize = atoi(argv[1]);
fread(buffer, filelen, bytesize, fileptr);
将argv[1]
转换为整数并将其传递给fread()
。