使用C替换文本文件中的行

时间:2015-10-20 08:19:59

标签: c database text edit

我有一个问题。 我目前正在尝试编写一个简单的数据库,从而尝试替换文本文件中的一行,以便在程序中更新可行性。

int totalsum(int imp,int is_out){

      int temp_int;
      char str[MAX_SIZE],int_buff[20];
      char *temp_char;
      char *checker = NULL;

      FILE *fptr;
      if ((fptr=fopen("data.txt","r"))==NULL){
        printf("Error in reading file\n");
      }else{

        fptr = fopen("data.txt", "r+");
        puts(str);
        while(fgets(str, MAX_SIZE, fptr)!=NULL ){
          checker = strstr(str,"//");
          if(!(str == checker)){
          checker = strstr(str,"sum");
          if (checker == str){
            temp_char = strtok(str, "sum =");
            if(atoi(temp_char)%10 ==0){
              if(!is_out)
              temp_int = atoi(temp_char) + imp;
            else
              temp_int = atoi(temp_char) - imp;
            }else{
              printf("Sum not divertable by 10, rounding down.");
              for(temp_int = atoi(temp_char);temp_int % 10 != 0;temp_int--);

                if(!is_out)
                  temp_int = temp_int + imp;
                else
                  temp_int = temp_int - imp;
            }
            _itoa(temp_int,int_buff,10);
            fputs(int_buff,fptr);
          }
        }
        }
        fclose(fptr);
      }

这就是我现在所拥有的。并且它不会编辑文件,所以我有什么问题吗?

所有帮助表示赞赏。

编辑: 不使用Linux。

0 个答案:

没有答案