C-从命令行参数获取fread参数
现在我的C-从命令行参数获取fread参数,c,C,现在我的fread设置如下。我想将bytesize更改为命令行参数 fread(buffer, filelen, bytesize, fileptr); 我知道要求的类型是“尺寸”。因此,如果我使用: fread(buffer, filelen, (size_t)argv[1], fileptr); argv包含字符串数组,而不是整数。您离正确的方法不远,因为您需要将此字符串转换为整数,但您做得不对。C是一种简单类型转换不解析整数的语言。改为检查,可能会有所帮助。您可以这样做 int byt
fread
设置如下。我想将bytesize
更改为命令行参数
fread(buffer, filelen, bytesize, fileptr);
我知道要求的类型是“尺寸”。因此,如果我使用:
fread(buffer, filelen, (size_t)argv[1], fileptr);
argv
包含字符串数组,而不是整数。您离正确的方法不远,因为您需要将此字符串转换为整数,但您做得不对。C是一种简单类型转换不解析整数的语言。改为检查,可能会有所帮助。您可以这样做
int bytesize = atoi(argv[1]);
fread(buffer, filelen, bytesize, fileptr);
将
argv[1]
转换为整数,并将其传递给fread()
理论上,您应该使用strtoul()
或其左右的值,但您的大小不太可能溢出适合int
的值。