C:无法从文件打印

时间:2015-10-13 21:54:29

标签: c printf unistd.h

所以我有这个项目,我需要打开一个文件并用C打印内容,但我必须使用unix系统调用。但是,我不清楚为什么没有打印。我尝试运行代码,但它似乎直接跳到关闭错误。我知道我需要unistd.h,我已经包含了。

NSPredicate *pred = [NSPredicate predicateWithFormat:@"relationship IN %@",
    @[[NSNumber numberWithShort:Relationship_Dating],
      [NSNumber numberWithShort:Relationship_Married]]];

编辑:这是声明。 '。'正在跳过刚刚设置标志的代码。

1 个答案:

答案 0 :(得分:1)

在你的:

if ( buff == '\n' && fe && fn )        //<--

我假设您要通过检查换行符来检查是否读取了空行。但是,buff不是角色;它是指向所有读取的字符存储的指针。要检查buff的第一个字符是否为换行符,请使用:

if ( *buff == '\n' && fe && fn )        //<--

*取消引用指针并为您提供第一个字符。您的其他支票也一样。如果这些检查失败,则打印以下行:

else
    printf("%s", buff);

请注意格式字符%s,而不是%c,以打印字符串(缓冲区)而不是单个字符。