所以我有这个项目,我需要打开一个文件并用C打印内容,但我必须使用unix系统调用。但是,我不清楚为什么没有打印。我尝试运行代码,但它似乎直接跳到关闭错误。我知道我需要unistd.h,我已经包含了。
NSPredicate *pred = [NSPredicate predicateWithFormat:@"relationship IN %@",
@[[NSNumber numberWithShort:Relationship_Dating],
[NSNumber numberWithShort:Relationship_Married]]];
编辑:这是声明。 '。'正在跳过刚刚设置标志的代码。
答案 0 :(得分:1)
在你的:
if ( buff == '\n' && fe && fn ) //<--
我假设您要通过检查换行符来检查是否读取了空行。但是,buff
不是角色;它是指向所有读取的字符存储的指针。要检查buff
的第一个字符是否为换行符,请使用:
if ( *buff == '\n' && fe && fn ) //<--
*
取消引用指针并为您提供第一个字符。您的其他支票也一样。如果这些检查失败,则打印以下行:
else
printf("%s", buff);
请注意格式字符%s
,而不是%c
,以打印字符串(缓冲区)而不是单个字符。