当前位置: 代码迷 >> Iphone >> objective-c的fget()读资料,读出的内容少了
  详细解决方案

objective-c的fget()读资料,读出的内容少了

热度:85   发布时间:2016-04-25 06:13:25.0
objective-c的fget()读文件,读出的内容少了?
我在学objective-c基础教程的例子。例子如下:
int main()
{
    FILE *wordFile = fopen("D:/word.txt","r");
    char word[100];
    while (fgets(word,100,wordFile))
    {
        word[strlen(word) - 1] = '\0';
        NSLog(@"%s is %d character long",word,strlen(word));
    }
    fclose(wordFile);
    return 0;
}
word.txt的内容是一行一个字符串,最后一行是字符串"j"

可是输出内容却不对“ is 0 character long”
为什么明明有个j,却没读到?

------解决方案--------------------
来人哪
------解决方案--------------------
参照我的一篇博文:
http://blog.csdn.net/yang3wei/article/details/7856273
------解决方案--------------------
引用:
参照我的一篇博文:
http://blog.csdn.net/yang3wei/article/details/7856273

看了,跟我的一样啊
------解决方案--------------------
啊啊啊啊啊啊,做了这些年的java,没想到要从新学C,哎
来人呐
------解决方案--------------------
引用:
引用:
参照我的一篇博文:
http://blog.csdn.net/yang3wei/article/details/7856273

看了,跟我的一样啊

你吧我博文里面的代码拿过去试一下,我估计是你这写法有问题,
不能指望自己不动一点儿脑筋和手就吧问题解决吧?
------解决方案--------------------
引用:
引用:

引用:
参照我的一篇博文:
http://blog.csdn.net/yang3wei/article/details/7856273

看了,跟我的一样啊

你吧我博文里面的代码拿过去试一下,我估计是你这写法有问题,
不能指望自己不动一点儿脑筋和手就吧问题解决吧?

写法没有问题,我也动脑筋和手了
------解决方案--------------------
你当我是刚毕业的大学生啊?
想训就训?
引用:
引用:

引用:
参照我的一篇博文:
http://blog.csdn.net/yang3wei/article/details/7856273

看了,跟我的一样啊

你吧我博文里面的代码拿过去试一下,我估计是你这写法有问题,
不能指望自己不动一点儿脑筋和手就吧问题解决吧?

------解决方案--------------------
引用:
我在学objective-c基础教程的例子。例子如下:
int main()
{
    FILE *wordFile = fopen("D:/word.txt","r");
    char word[100];
    while (fgets(word,100,wordFile))
    {
        word[strlen(word) - 1] = '\0';
  ……


不知道LZ说的是不是其他所有字都正常读取到了,但是唯独只有最后一个J没有读到。
如果是这么回事的话,应该是因为
 word[strlen(word) - 1] = '\0';这句话。
将最后一个字符改成了0 也就是'\0'

------解决方案--------------------
标准 C 库,不会有功能问题。
fgets(word,99,wordFile)
------解决方案--------------------
我知道什么问题了
因为最后一行没有换行符,所以
word[strlen(word) - 1] = '\0';
这句话把J给删掉了。

难道类似情况都要给最后一行加个换行符么?
------解决方案--------------------

int main()
{
    FILE *wordFile = fopen("D:/word.txt","r");