C++ :: Fstream - Writing In The Middle Of A File
Sep 7, 2012
I want to edit the contents of a file using fstream, but none of the modes in the fstream constructor work for me.
If I use ios::trunc, then the whole file is deleted - but I want to retain the contents and edit it. If I use ios::app, then I can only add data to the end of the file - but I want to edit the data in the middle of the file. If I use ios::ate, then the whole file is deleted again, similar to ios::trunc.
How can I create an fstream object without deleting the contents of the file, whilst still being able to move the pointer arbitrarily around in the file with seekp() (and not just placing it at the end as with ios::app)?
View 3 Replies
ADVERTISEMENT
Oct 16, 2013
I have a file of data where each line consists of 4 parameters (degree, alpha, beta and x) and a value corresponding to these, organized in increasing order of the parameters. Here's the test file I'm using:
0 1 1 0.5 3.5
1 1 1 -0.5 -0.5
1 2 0 0.2 4.5
1 3 0 0.2 -4.5
2 0 0 1.5 2.1
2 1 0 0 5.6
My code is supposed to look for a certain set of parameters (currently set to 1 2 1 1.5, which is not contained in the file) and its value. If it's there (i.e. the file contains the value for the right parameters) the program is done. If not it should calculate the value using a function JacobiPoly() and insert the wanted parameters and corresponding value in the appropriate place in the file.
I have a code in which I think everything works except the writing to file. I use an fstream so I can both read and write and open it with ios::out||ios::in. I'm also aware I need something similar to fseek in between input and output but according to [URL] .... reading and writing to the same file using the same fstream, seekp() should suffice. I'm using seekp(), but the output (in the form inout << (...)) doesn't work.
Here's the code:
fstream inout;
inout.open("inouttest.dat", ios::out | ios::in);
int degree=1, readDeg;
double alpha=2, beta=1, x=1.5, value, readAlpha, readBeta, readX, readVal;
bool foundVal=false;
streampos beforeRead=(streampos)0;
[Code] ....
View 3 Replies
View Related
Jul 9, 2014
fstream ifs;
ifs.open ("data.str", ios::binary | ios:ut);
char *data1 = "data1";
char *data2 = "data2";
ifs.write(data1, strlen(data1));
ifs.write(data2, strlen(data2));
when i this,data2 is not going under data1, i thought each write starts on a new line?
View 4 Replies
View Related
Oct 3, 2014
I want to put number in the center of the rectngle. Nonetheless, one space is residual.
Code:
#include <stdio.h>
nt main(){
int i,j;
int column,row;
int n;
printf("Enter column: ");
scanf("%d",&column);
[Code] .....
View 14 Replies
View Related
Sep 18, 2013
A user enters a query and other users reply to it. But it creates a problem here. After adding queries, if I wish to reply to query in between then it adds a redundant entry in file. 1st entry is the original query without reply and 2nd entry is the same query now with a reply added. I want only 1 entry of the query along with replies.Here is the code:
Code:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include "var.c"
int check_count();
void add_query();
void add_reply();
}
[code]....
View 9 Replies
View Related
Jan 24, 2013
I created a structure containing two variables of type char.
i.e. char name[64],char details[128];
And a pointer to structure now when I write this name and details to file and now I want to change the particular name.
i.e. To modify then if the stored file name is greater than the entered name then it is erasing the next record line also I need to allocate some memory.
View 2 Replies
View Related
Oct 24, 2014
I've a problem here...
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string>
#include <iomanip>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
[Code] ....
The program needs to be able to read the middle names within the text file named Info2.txt
Simply adding the Mname or any related value where the other to name values doesn't do anything and only the 1st line appears on the output.
Don Jon111012
Jack Bo Todd151015
Jill Jo Jane161011
Bob Jack Chuck 131513
Da Fu111012
That is the correct way it appears in the text file. Also I know it's commented out, but that just to keep the program from crashing.
current output
Survey Results:
Name Results
Don Jon 33.00
This is the Info1.txt file info by the way.
Ken A202017
Gus B151015
Bill C151512
Jara C151720
Lu E101510
Chow B171015
And the output
Survey Results:
Name Results
Ken A 57.00
Gus B40.00
Bill C42.00
Jara C52.00
Lu E35.00
Chow B 42.00
Which when ran with Info1 selected, it is the correct output I'm looking for. I've tried getline and other solutions and they didn't work.
View 1 Replies
View Related
Feb 18, 2014
For some unknown reason when i try the following code it doesn't create a file. (the program will simply get two inputs from the user and then use http to obtain the html/php text and then output it to a file)
code:
#include <SFML/Network.hpp>
#include <iostream>
using std::cout;
[Code].....
View 3 Replies
View Related
Feb 14, 2014
So, I am making a name-database-type-thing and I want the user to be able to enter there own file. Like, here:
string fileName;
string name;
cout<<"What is your file name?"<<endl;
getline(cin, fileName);
ifstream nameFile(fileName);
getline(cin, name);
nameFile<<"Name: "<<endl;
Well, that last part is in a loop, so you can enter an unlimited number of names to the .txt file.
So, it won't let me use the string in ifstream. How can I fix this? This maybe unclear, so if it is just say so and I will edit it.
View 6 Replies
View Related
Nov 9, 2012
I did some of the projects using STL container and it is pretty much efficient to retrieve the data's information quickly (i.e. sets, sets & maps). I read many C++ OOP book and none of them make me clear about the Link Between (STL) Container and (Fstream) File I/O. Can they link together ?
I am going to design a small Library Book Management Project. I am planning to develop it using the STL Algorithms & containers. Objective of this project is to keeping the records of books issued and deposited by students in a particular date. User will be given a facility to retrieve student's information, book information and he/she can modify/update specific book's, student's information by changing issue date, deposited date, Book's publication etc.
My intention is to create a File I/O where user can input & update/modify daily transaction inside the file called (xx.dat) file in project directory. Is it possible to create 'set' container inside the file (xx.dat) ? Or, It's impossible ? Or, do i have to do this in other way?
View 6 Replies
View Related
Jul 25, 2013
How to forbid file replacing in fstream library for C++?
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ofstream myfile;
[Code] ....
View 5 Replies
View Related
Dec 16, 2014
I'm trying to make a simple phonebook app that can show contacts, add, and delete. I'm pretty new to C++ and fstream functions, deleting a line in my bool erase() function?
#include <iostream>
#include <conio.h>
#include <string>
[Code].....
View 6 Replies
View Related
Jan 20, 2013
other posts talk about the fopen function and don't really give any solutions to this the var that has the file path is a char* and has been converted from a system::string^ it is completely valid when I paste it in windows bar.
Code:
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) {
if(textBox1->Text[0] == (char)'' || textBox2->Text[0] == (char)''){
MessageBox::Show("Please select a valid m3u and path", "Problem",
MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
[Code]....
it crashes right at the pile.open() function call when I put breakpoints in it says , debug assertion failed and shows me the fclose.c file location and Expression: (stream != NULL)
View 5 Replies
View Related
Jan 15, 2014
I need to a simple example for writing class' objects to a text file using fstream , I tried to search the forums and I found binary examples but not for to a text file.
View 8 Replies
View Related
Nov 20, 2012
I'm using Visual C++ 6.0 and I'm trying to use fstream to open and read a file that is created only during runtime. This file is written by another function running on another thread, and my program will keep trying to "open" the file until it can be opened, i.e. after it's created, then read 3 numbers from it and execute the rest of its code.
The file test.txt has the content
Code:
1
3
4
My program that polls and opens the file is as follows:
Code:
ifstream fin;
std::string tfile, snum1, snum2, snum3;
long int num2, num3;
tfile.assign(argv[1]);
printf("Begin prog %s
", tfile.c_str());
[code]....
I executed the program by
Code: test_prog.exe "C: est.txt"
and waited about 3 seconds before putting the test.txt file into C:
My output was
Code:
Begin prog C: est.txt
Cannot open file C: est.txt
Cannot open file C: est.txt
Cannot open file C: est.txt
Cannot open file C: est.txt
Cannot open file C: est.txt
Cannot open file C: est.txt
fin is open
snum1 =
num2 = 0 num3 = 0
End of prog
The test.txt file disappears after I refresh the C: folder.
So the values for snum1, num2 and num3 are all wrong, as if the file was not read correctly.
If I put a while fin.good() loop after printf("fin is open "); for that entire block (until printing the values of num2 and num3), then I get
Code:
Begin prog C: est.txt
Cannot open file C: est.txt
Cannot open file C: est.txt
Cannot open file C: est.txt
Cannot open file C: est.txt
Cannot open file C: est.txt
Cannot open file C: est.txt
fin is open
End of prog
How can I correctly read a file that is only created during runtime?
View 4 Replies
View Related
Dec 31, 2014
I would like to copy one bmp file to another using plain fstream (none 3-rd party library). I've managed to come up with something but I keep getting error:
Unhandled exception at 0x504A3442 (msvcr120d.dll) in ConsoleApplication1.exe: 0xC0000005: Access violation reading location 0x00380000.
when i try to write the content of the bmp files not the header, namely error occurs in this line:
Code : ofs_differential.write((char*)&picture, (bfh_warm.bfSize - bfh_warm.bfOffBits));
Also i am not sure if i am doing it in a right way, meaning that even after solving this error i will copy the bmp file successfully.
Code:
// ConsoleApplication1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
struct BITMAPfileHEADER {
unsigned short bfType;
[code]....
View 3 Replies
View Related
Apr 28, 2014
So I have a small program which is supposed to write and read multiple objects from a file, but for some reason it doesn't write the information when I use "fstream" to create the object from the fstream class, but it does when I use "ofstream". Also, it doesn't read the information from the file no matter if I use "fstream" or "ifstream". I watched a video where this exact code worked just fine, but it just won't work when I run it. I'm using Dev C++ 4.9.9.2, I don't know if that has anything to do with it, I also tried it with Code::Blocks, didn't work either.
Here's the code.
#include <iostream>
#include <fstream>
using namespace std;
class Person
[Code].....
View 3 Replies
View Related
Feb 6, 2014
I am writing a simple file/text parser to read a config file for some code I am working on. It's dead simple and not particularly smart but it should get the job done. The code reads a config file:
Code:
readlength=2500000
start=0
finish=25000000
cutoff=20000
samplingfreq=250000
poles=10
filterpadding=500
}
[code]....
Here is where it gets wierd. You'll notice that there is an unused variable (filepath) in the config struct. This variable is not referenced or used anywhere in the code, ever. Yet if I comment out the declaration of char filepath[1024], the code segfaults partway through the read_config() function.
My best guess is that there is a buffer overflow elsewhere and it just so happens that the memory allocated for filepath happened to be there to catch it up until now, but I can't work out where it might be happening. With the declaration commented out, the read_config() function gets as far as reading the "padding" variable before it crashes. Yet when the declaration is there, then all the variabled are read correctly and everything seems to work.
View 10 Replies
View Related
Aug 31, 2014
One of my class assignments is to create a program that receive a .txt file containing a students name and their grades as follows: John K. 99, 87, 57, 89, 90, 95 Amanda B. Jones 100, 88, 76, 99, 86, 92 etc.. The number of students is unknown until run time. You have to take those grades and average them weighing the first (4) at 10% a piece and the next (2) at 15% each and the final at 30%. Then return an output file with the students name and their letter grade A,B,C,D,F based on their computed score. In addition, on screen it needs to display the average scores for each Q1, Q2, etc. as well as the minimum and maximum for each test on the screen. I am having a hard time in assigning the scores to a variable so that they can then be computed as an average and then used to determine a letter grade. I have begun to write the code and am a bit stuck..here's what I have so far:
Code:
//
// main.c
// Final Exam
//
[Code].....
The problem I'm having now is how to go about passing the grades to the function computeGrade and then compute the average and return that to the function.
View 4 Replies
View Related
Mar 28, 2013
Can i edit records stored in file without rewriting whole file again .?
View 1 Replies
View Related
Feb 17, 2013
I'm trying to make a function that lets me pass an index and a string and will insert the string at that index in the linkedlist..
Code:
typedef struct node {
char* value;
struct node* next;
}
[code].....
View 4 Replies
View Related
Mar 12, 2014
Above you said to find the middle value you should divide the array by two and then display the middle value (aka the median). For example, for an array consisting of 1 2 3 4 5, 3 would be the middle value.
My question is, how/what do I write to tell the program to display the middle value???
So far, I have done enough research and written enough code to receive values from the user and sort the array in ascending order. I simply don't know where to go from here (I started C++ about 1 month ago). I don't know how to tell it to pull the middle value.
I've researched "find_if", "nth_value" and a boat load of others with no luck
Here's what I've done so far:
#include <algorithm>
#include <functional>
#include <array>
#include <iostream>
[Code]....
View 3 Replies
View Related
Aug 2, 2014
I was given some practice problems in my programming class, to prepare for the final and I don't quite understand what this one is asking for exactly:
Write the remainder of the program to find the maximum value for the middle row of the array data. Print the max after finding it. Your code should work for any 2D array of ints with three rows and four columns, so don't hard-code your program to these specific values.
Code:
#include <stdio.h>
int main(void)
{
int data[][4] = {{ 5, 8, 7, 2},
{ 3, 10, 1, 9},
{ 6, 12, 5, 0}};
View 8 Replies
View Related
May 1, 2013
I am trying to delete a node from the end of a Linked List but I have some problems. Every node has it's unique code. Here is what I do:
1. Ask the user for the unique code of the node.
2. Ask him if he wants to change the data in it or delete the whole node.
3. If he chooses to delete it, I do this:
//let's say that temp1 points to the node
List *temp2 = temp1;
temp1 = temp1->next;
delete temp2;
And it's just not deleting the node.
View 2 Replies
View Related
Jan 17, 2015
I'm trying to create a program which can pan by keep clicking and move the mouse
1. First, I create a class that inherited from the UserControl Class
public partial class CanvasCtrl : UserControl
protected void OnMiddleMouseDown(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Middle) {
[Code] ....
2, Second, I create the void in that class too, and write the code to get it to catch the event
public void MainMouseAction() {
this.MouseClick += new MouseEventHandler(OnMiddleMouseDown);
}
It not work, how to solve this out ?
View 8 Replies
View Related
Sep 9, 2014
I am executing below sample program
Code: #include<iostream.h>
#include <fstream.h>
using namespace std;
int main()
[Code]......
when i am counting the lines using wc command it is giving 1 instead of 2.
View 3 Replies
View Related