Remove data from file in ansi C - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Remove data from file in ansi C

IDKIDK Posts: 1,784Member
[b][red]This message was edited by IDK at 2007-1-22 10:27:47[/red][/b][hr]
I need to remove a line in a file.

The file looks like this:
[code]
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
[/code]
("%s %s
")

Is it possible to do it in ansi C?

I can do it if I'm allowed to rename a file, but ansi C doesn't have any func for that...

EDIT: If not possible in ansi, how should I do it on windows?

Comments

  • stoberstober Posts: 9,765Member ✭✭✭
    [b][red]This message was edited by stober at 2007-1-22 10:33:35[/red][/b][hr]
    Yes it is possible to do it in ansi c. You have to rewrite the entire file, leaving out the line you want to remove.

    open the original file for read
    open a new temp file for write
    read each line in original file and write to temp file
    close both files
    delete original file
    rename temp file to original file name

    all done.



    Or if the file is small enough
    1. read all the lines in the original file into memory
    2. open the file for write and write out all the lines except those you want to delete.


  • IDKIDK Posts: 1,784Member
    : Yes it is possible to do it in ansi c. You have to rewrite the entire file, leaving out the line you want to remove.
    :
    : delete original file
    : rename temp file to original file name
    :

    How to do those two things in ansi was my Q.
  • BitByBit_ThorBitByBit_Thor Posts: 2,444Member
    : : Yes it is possible to do it in ansi c. You have to rewrite the entire file, leaving out the line you want to remove.
    : :
    : : delete original file
    : : rename temp file to original file name
    : :
    :
    : How to do those two things in ansi was my Q.
    :

    Is this ANSI C? I know it's directly from the Microsoft site, but it might help:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_CRT_File_Handling.asp

    Best Regards,
    Richard

  • IDKIDK Posts: 1,784Member
    : : : Yes it is possible to do it in ansi c. You have to rewrite the entire file, leaving out the line you want to remove.
    : : :
    : : : delete original file
    : : : rename temp file to original file name
    : : :
    : :
    : : How to do those two things in ansi was my Q.
    : :
    :
    : Is this ANSI C? I know it's directly from the Microsoft site, but it might help:
    : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_CRT_File_Handling.asp
    :
    : Best Regards,
    : Richard
    :
    :

    They actually are ANSI C funcs. Thanks for the link!
Sign In or Register to comment.