A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

想编写一个通讯录的程序=。=
我用结构体储存了用户输入的用户名和电话
用户可以随便输入用户和电话(这个写了一个函数,只要用户选择1,就会输入)

输入过后,我想输出用户输入的用户和电话。。。。。但是我不知道循环多少次

我想的办法是:用文件的大小/结构体数组元素的大小 -----》这样就可以得到联系人的个数


但是我不知道怎么计算文件的大小=。=

5 个回复

倒序浏览
PS:我觉得获取文件大小来判断联系人个数最靠谱,因为这样可以保证下次再运行的时候也可以知道联系人的个数。。。。。。。。如果用计数的办法,下次再运行的话,计数就会清零,这样就会丢失联系人的个数
回复 使用道具 举报
本帖最后由 ydy2511000 于 2016-1-8 22:49 编辑

刚刚测试了下,这个可以~~哈哈
#include <stdio.h>

int main(int argc, const char * argv[])
{
    FILE *p = fopen("TXL.txt","r");//这个文件我在其他程序中已经创建=。=
    if(p != NULL)   {
        char ch = 'a';
        int count = 0;
        while(ch != EOF)
        {
            ch = fgetc(p);
            count++;
        }
        count--;
        printf("count = %d\n",count);  //可以统计文件的字节数~~~~
   //**************统计完成***********
  //可以进行其他文件操作~~~~记得文件指针回到开头!!!!!!
   }
    return 0;
}



//********很重要*****调了半天=。=*********
//还有个很重要的~~~用这个统计完成之后,文件的指针已经移动了
//如果要用fread来读取,记得要把指针回到文件的开端:
rewind(p);


回复 使用道具 举报
海棠依旧2046 来自手机 中级黑马 2016-1-8 22:02:50
板凳
强,都学到这里来了
回复 使用道具 举报
赞,学到了
回复 使用道具 举报
赞一个,大家一起努力哦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马