当前位置: 代码迷 >> C语言 >> 向文件写数据问题
  详细解决方案

向文件写数据问题

热度:150   发布时间:2008-04-23 11:07:09.0
向文件写数据问题
代码如下:
#include "stdio.h"
#include "stdlib.h"
int main()
{
    FILE *fp;
    char ch,temp;
    int i,row,col;
    long offset;
    if((fp=fopen("temp.txt","r+w"))==NULL)
    {
        printf("file cannot be opened\n");
        exit(1);
    }
    while((ch=fgetc(fp))!=EOF)
       printf("%c",ch);
       printf("\n请输入要修改的数的行数与列数:(以一行一列为开始)\n");
       scanf("%d %d",&row,&col);
       offset=(row-1)*6+col+1;
       printf("请输入修改为何数:\n");
       scanf("%c",&temp);
    fseek(fp,offset,SEEK_SET);        
    fputc(temp,fp);
    rewind(fp);
    while((ch=fgetc(fp))!=EOF)
       printf("%c",ch);
    fclose(fp);
    return 1;
}
测试的temp.txt文件内容是
1 1 1
1 1 1
1 1 1
代码中的红色部分没有执行不知道为何

[[it] 本帖最后由 zmhdxy 于 2008-4-23 11:10 编辑 [/it]]
搜索更多相关的解决方案: 数据  文件  

----------------解决方案--------------------------------------------------------
只是为了测试 没有考虑到边界问题 输入一定要有效
----------------解决方案--------------------------------------------------------
人呢 人呢 告诉我啊
----------------解决方案--------------------------------------------------------
怎么没有人回答我
----------------解决方案--------------------------------------------------------
你在scanf("%c",&temp); 前面加一句getchar();

就好了
原因是你的temp把前面的回车读进去了
----------------解决方案--------------------------------------------------------
的确 谢了
----------------解决方案--------------------------------------------------------
  相关解决方案