| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 229 人关注过本帖
标题:[求助]帮忙修改一个文件操作的程序
只看楼主 加入收藏
starit
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-10-5
收藏
 问题点数:0 回复次数:0 
[求助]帮忙修改一个文件操作的程序

这个程序的目的是打开一个txt文件,输出空格代替'[' ']'及其中间的内容,但是运行后会无限写入空格,调试发现在循环中ch的值一直没变,原因是运行fseek(fp1,-1*sizeof(char),1);之后指针就回到文件起点了,可是fseek第三个参数设置为1不是表示从指针本身位置进行移动么,请问这是怎么回事?

#include <stdio.h>
#include<stdlib.h>
void main()
{
    char path[50],ch;
    FILE *fp1;
    int i;
    printf("please input the path of the file:");
    gets(path);
    if((fp1=fopen(path,"r+"))==NULL)
    {
        printf("the file is not exist!\n");
        exit(0);
    }
    do
    {
        ch=fgetc(fp1);
        if(ch=='[')
            for(i=0;ch!=']'&&i<=50;i++)//i用来防止过长
            {
                fseek(fp1,-1*sizeof(char),1);//1表示文件指针在当前文件指针位置
                fputc(' ',fp1);
                ch=fgetc(fp1);
            }
    }while(ch!=EOF);
    printf("转换完成\n");
    fclose(fp1);
}


搜索更多相关主题的帖子: include please 起点 file 
2011-06-26 11:22
快速回复:[求助]帮忙修改一个文件操作的程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015459 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved