我正在编写代码,读取功能有问题。我知道文件名,我有buf,但问题是要读取多少字节。大小是在参数中指定的,但是在运行程序时会显示错误。
我尝试分配char *b = argv[3]
,但没有任何改变。
问题所在是我的代码片段。
int ret;
char buf[1024];
ret = read( fd, buf, argv[3] );
if(ret == -1){
printf( "Nepavyko nuskaityti %d baitu\n", argv[3] );
exit(1);
}
else {
printf( "Sekmingai nuskaityta %d baitai\n", argv[3] );
}
由于这样的错误,我什至无法运行我的程序:
edgals_rw01.c: In function ‘main’:
edgals_rw01.c:42:4: warning: passing argument 3 of ‘read’ makes integer from pointer without a cast
/usr/include/unistd.h:439:16: note: expected ‘size_t’ but argument is of type ‘char *’