免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1525 | 回复: 7
打印 上一主题 下一主题

问一个读字符串的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-29 11:25 |只看该作者 |倒序浏览
一个文本文件file.txt中放100行字符串(每一个长度为60个字符),,现在只需要读出后50行的字符串来进行处理,可是却出现了S循环,

#include<stdio.h>
#include<math.h>
#include<string.h
#define COLUM    50
int  main(void)
{
        FILE *fp,*fp2,*fp1,*fp3;
        fp3=fopen("LAA1_3.dat","wb";//结果
        char a[60];
           int k,n=0,l=0,l1=0;
                       int i,j,str_len;
         if((fp=fopen("file.txt","r")==NULL)  //打开文件
        {
                printf("Can Not open file1 file.txt! Exit.";
        }
             while(!feof(fp))
            {
           fgets(a,100,fp);
           str_len=strlen(a);  
          l++;
          printf("l=%d\n",l);
          while(l>COLUM)//         
                {
                /*中间对字符串处理的程序*/
                                   **********                       
                 }
            for(k=0;k<str_len;k++)
                a[k]=' ';
                str_len=0;
            }
         printf("zid=%f\t,aver=%f\t",zid,aver);
        fclose(fp);
                fclose(fp2);
        fclose(fp3);
             return(0);
   }       

现在的问题,就停留在第51行的字符串上,出现了S循环, while(l>COLUM)//?

论坛徽章:
0
2 [报告]
发表于 2006-08-29 11:43 |只看该作者

回复 1楼 ffyyee 的帖子

while(l>COLUM)//         
                {
                /*中间对字符串处理的程序*/
                                   **********           这里面有没有break语句?            
                 }

论坛徽章:
0
3 [报告]
发表于 2006-08-29 11:47 |只看该作者
当l=51
while( 51 >50)
你有跳出?

论坛徽章:
0
4 [报告]
发表于 2006-08-29 14:08 |只看该作者
没有退出循环啊

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2006-08-29 14:15 |只看该作者
ftok() feof() 是蛇足。
我见一次说一次。

论坛徽章:
0
6 [报告]
发表于 2006-08-29 14:19 |只看该作者
l++ 在 while(l>COLUM) 外面, l 怎么会变呢?

论坛徽章:
0
7 [报告]
发表于 2006-08-29 14:20 |只看该作者
就是不知道怎么才能跳出下面这个循环啊
while(l>COLUM)//         
                {
                /*中间对字符串处理的程序*/
                                   **********           这里面有没有break语句?            
                 }

请指点,谢谢啊

论坛徽章:
0
8 [报告]
发表于 2006-08-29 18:28 |只看该作者

回复 7楼 ffyyee 的帖子

改用if语句好了,你对a的处理只要每读一次做一次,何必要while循环哪.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP