gpt4 book ai didi

objective-c - 为什么 fget 不工作?

转载 作者:行者123 更新时间:2023-11-30 17:46:11 24 4
gpt4 key购买 nike

我安装了新版本的 os X(最初是 10.7,然后更新到 10.7.5) - 我在终端中丢失了 man fgets,它不再存在(不是 olny fgets,还有其他一些)。我使用的是xcode 4.6.3,更新了各种文档。在文档中我只得到了 FGETS(3),而不是 fgets!当我写这段代码时:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
FILE *wordFile = fopen ("/tmp/words.txt", "r");
char word[100];
while (fgets(word, 100, wordFile))
{
word[strlen(word) - 1] = '\0'; // strip off the trailing \n
NSLog (@"%s is %lu characters long", word, strlen(word));
}

fclose (wordFile);
return 0;
}

我得到输出:

Joe-Bob "Handyman" Brown
Jacksonville "Sly" Murphy
Shinara Bain
George "Guitar" Book is 84 characters long

为什么?

最佳答案

我的钱在@Martin R.

fgets() 在文件“/tmp/words.txt”中未找到转换后的 \n,即使它是在文本模式“t”下打开的。用于创建/编辑文件的编辑器以 \r 结束行。

参见@Michael Haren Do line endings differ between Windows and Linux?

顺便说一句:word[strlen(word) - 1] = '\0';可能是一个问题,但在本例中不是,因为 strlen(word) 可能为 0。(@wildplasser)

关于objective-c - 为什么 fget 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19415486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com