Howdy, Stranger!

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

Sign In with Facebook Sign In with Google Sign In with OpenID

Categories

We have migrated to a new platform! Please note that you will need to reset your password to log in (your credentials are still in-tact though). Please contact lee@programmersheaven.com if you have questions.
Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

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.