473,479 Members | 2,060 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

How to append text inside an existing file without overwrite?

1 New Member
Hi, I'm trying to add some strings inside a file in specific locations.
I'm opening a file with fopen and "r+a"

and after a while i'm trying to add strings that way:
Expand|Select|Wrap|Line Numbers
  1. char *line = (char *) malloc(MAX_LINE);
  2. while (fgets(line, sizeof(line), theFile) != NULL)
  3.     if (strstr(line, "I want to append here") != NULL)
  4.         fputs("My new string", theFile);
  5.  
But "My new string" will overwrite the next chars from the file.

example:
origin file:
a
b
c
I want to append here
d
e
ffffffffffffffffffffffffffff

overwrited file
a
b
c
I want to append here
My new string
ffffffffffffffffff


How can I deal with this problem?
Thanks in advanced,
Gil
Jan 8 '11 #1
1 13028
horace1
1,510 Recognized Expert Top Contributor
as far as I am aware there is no simple way of inserting records into the middle of a file without overwritting existing records, e.g. see example using fseek()
http://www.cplusplus.com/reference/c.../cstdio/fseek/
you could
(1) copy the file to another inserting the new record at the required place.
(2) read the file into an array - do all your insertions (shuffling the array to make room) - then when finished write it out
(3) if you are dealing with whole lines read the file into a linked list (each element is a line of text) - do the insertions into the list - when finished write the list out to a file
Jan 9 '11 #2

Sign in to post your reply or Sign up for a free account.

Similar topics

2
19893
by: gukn9700 | last post by:
The following program opens a text file and wants to append new text to it, but everytime I run it, it returns me with "open file fail!". Can anybody help? #include <fstream> #include...
2
25160
by: Nico Grubert | last post by:
Hi there, I would like to open an existing file that contains some lines of text in order to append a new line at the end of the content. My first try was: >>> f = open('/tmp/myfile', 'w')...
3
23923
by: Jonathan Buckland | last post by:
Can someone give me an example how to append data without having to load the complete XML file. Is this possible? Jonathan
0
2692
by: | last post by:
Use the method InsertAfter() from the XmlDocument class or AppendChild from XmlNode class. Here is a short example to use InsertAfter(). http://weblogs.asp.net/sonukapoor/articles/132854.aspx ...
3
10219
by: Tony | last post by:
Hi I am writing text to a fileusing the streamwriter writeline method. When creating the streamwriter it can be opened to append text to a file. Is there a way, not necessarily with...
1
5714
by: ma740988 | last post by:
Trying to some of my reading on file manipulation (ifstream/ofstream/fstream) into action. So now consider. # include <iostream> # include <fstream> # include <cstring> # include <sstream> ...
10
14920
blazedaces
by: blazedaces | last post by:
Alright guys, so the title explains exactly my goal. The truth is I'm going to be reading in a lot of data from an xml file. The file is too large and there's too much data to store in arraylists...
1
1485
by: StanislavPetrov | last post by:
Is it possible to delete the text inside .txt file?And if so,how?
1
2992
by: Deshi | last post by:
Hi,. I am trying to append text into the RTF file, nothing seems to be working for me... here is the code FileStream fs = new FileStream("c:\\djj.rtf", FileMode.Append, FileAccess.Write);...
0
7027
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7071
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
6726
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
6861
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5318
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
4763
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4468
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
2987
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
1291
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.