我根据以下答案运行以下代码:C: read only last line of a file. No loops
{{1}}
当我通过makefile编译它时,我回来了:
tcp-server.cc:111:42:错误:无效转换为'char *'到'size_t {aka long unsigned int}'[-fpermissive] ssize_t len = fread(fd,buf,max_len); ^ tcp-server.cc:111:42:错误:函数'size_t fread(void *,size_t,size_t,FILE *)'的参数太少
我只是想让它读取文件的最后一行。不知道为什么这很难或为什么我得到错误。编辑后显示更新后发生的更新确实修复了一个错误,但没有修复当前的错误。
答案 0 :(得分:0)
你有很多错误。以下是我注意到的几个/第一个:
" if((fd = fopen(" result.txt"," r"))!= NULL);"没有意义;您可能希望在条件为class Schedule_info
arrt_accessor :name, :date1, :date2, :event
def initialize arr
#I would like this loop to contain all 4 attr assignments
arr.each {|i| instance_variable_set(:name, i[0])}
/ true
的情况下执行某些操作,而不仅仅是使用false
结束语句。
" static const long max_len = 55 + 1;"完全没有理由;
。
static
始终返回main
- 您无法int
没有返回值。
std::fread需要4个参数,但你只传递3个参数(这实际上是你在问题中提到的错误)。
"字符串答案= ..."应该是" std :: string answer = ..."。
顺便说一句:这一切看起来都很糟糕(很糟糕)C。你为什么要把它标记为C ++(除了使用main
这与现代惯用语C ++无关)?
我能给你的最好建议是:1)打开所有编译器警告并认真对待它们。 2)购买并阅读 a good C++ book。