C :: Segmentation Fault When Try To Read In The Lines Of File
Oct 21, 2013
I have to txt files, and want them to read into an array line by line and after then a split the lines with delimeters, at the first file I use ";", at the second file I want to split the lines to single words by spaces. My aim is to get the first word from the first file and compare with all the words from the other file, to check is there any matches.
My problem is, that at the first file works everything fine, and I want to do the with the second file, but after reading the lines into lines_input[], I check the an empty = null line, I get segmentation fault.
I have written a small program for a class to convert decimal to binary and the program itself works, however, I am storing the binary bits in a stack that is in a header file (which I have used successfully before). It appears to push the bits to the stack just fine, however, when I use the printStack function I get a segmentation fault.
question regarding some segmentation fault I receive while running the code I have been working on. I am working on a card program and this is my input:
What I am trying to do is read in 52 cards name into array, set up the game and play it, when the game is done, I read the next 52 cards and play it again.
However, I encounter segmentation fault while running the program. Here is my code
Below is my sample code of a C program. I am doing lot of processing, but my issue is I am getting a segmentation fault error in my main when I am putting the file names at the command line and using them. The program works great in Windows, but its giving error in Unix.
I'm trying to change some information from binary file but I get segmentation fault. Suppose there are two teams which names are same. The names are wanted to change. But, I get segmentation fault.
team_name, city , stadium ,fdate, colors the team is in binary file manunited,manchester,old_trafford,1878,black-rd chelsea,london,stamford_bridge,1905,blue-whte manunited,manchester,old_trafford,1878,black-rd
I am trying to read lines from a CSV file and put the values into vectors. The CSV contains a large amount of data and I would like the program to only read certain lines from the CSV into the vectors. An example of the data is below. In my code the user inputs a secid. I would then like the code to only read lines from the csv where the secid matches what the user inputs. The secid's are also not in order so I can't just use a while loop.
My task is to write a function for borrowing books form library called borrow(name,surname, student_id, book_id), which will connect information of borrowed book's ID and student's information in the file.
File looks like this:
John Jackson 45 0 Michael Gregory 34 56 Ann Cawitch 23 0 Chris Lamb 34 50 ...
First two words are name and surname of students. First number represents student's ID and second one represents ID of book. If ID of book is 0, it means that student hasn't borrowed book yet, so he can borrow some book. If ID of book is not 0, it means that student can't borrow a book until he returns the old one. So, when student borrows book, ID of book in file should change from zero to some number
This is my code:
void borrow(string name, string surname, int student_id,int book_id ) { string a; string b; int c=0; int d; fstream f2; f2.open("students.txt", ios::out |ios::in);
[Code] ....
Whenever I call function (for example borrow(John, Jackson,45,15)), I get answer "Student isn't sign up library."
Am I on a right path? How to make this code to work?
I am working on a distributed application in C. My program gives segmentation fault and aborts execution. But, when I try to run it through gdb, it keeps on running although without giving a useful output. I realize that I do not put much information in my query. But, what general causes could generate this behaviour. I am interested to find the cause of segmentation fault.
I can't understand why my program keeps on getting "Segmentation Fault". The last time I checked (in UBUNTU) it was already working, now I'm testing it in Windows and I keep on getting "Segmentation Fault".
I am using scientific linux. In the directory user/project/Build, after I ran 'make' to compile and link all the cpp files,I had no problems. But then, when I went to directory user/run/run.sh, which runs the project binary in user/project/Build/bin/project, I get a segmentation fault error. In the directory user/run, I enter 'gdb' in the command prompt and get the message "*** No targets specified and no makefile found. Stop." What am I supposed to do to detect the segmentation fault?
I get the segmentation fault whenever it tries to insert the first player.. however whenever i do this :
void MakeSquad(char type, string name, int coordX, int coordY, char dir, int squad) { GameSpace::MapSquadType MapOfSquads; MapOfSquads.insert(make_pair(name , Squad(squad)); // Squad( int ) just converts the int squad number to the Enum. }
The problem is probably the fact that I'm using the variable s in the wrong way, but as I'm very bad at C and C++, at least so far anyway, I've no clue what's wrong. Is it my size that I passed in the marked method?
Also, how do I tell it, later, once this starts to work, to pass the file name of the file it'll copy to as the first param and the file it reads from to the pipe as the second param?
I'm supposed to be reading from a file, and as I was given some code, but it's probably in C and not C++, even if it is, I'm still not that great at C++ either, but anyway, I'm to have the program read from the file and write to the pipe and have the child read from the pipe and write to the output file.
private void open(object sender, EventArgs e) { OpenFileDialog openDialog = new OpenFileDialog(); if (openDialog.ShowDialog() == DialogResult.OK) { string[] lines = File.ReadAllLines(openDialog.FileName); int k = 0; while (k < lines.Length)
[Code] ....
So in this code, the user basically opens a text file from the dialog. Then the file gets read on all the lines and gets stored in an array. Now the reason I did this is because there are more fields of text boxes I have to fill in after I fill in the table (6x3). I'm getting an out of bounds error however.
This is a sample text file that is being used. As you can see all the lines from start up until (excluding "110") will be used in the table. Now I want to read the last lines in this text file and put it in another text box. How do I do that?
Let say h(0)=01 and h(1)=10 and let say our first string is w=0 h(w)=01, h^2(w)=0110 h^3(w)=01101001..etc.
We have used h map, which is given in the program comment statement. Same thing, program is doing for three letters. These three letters we have passed as argument in h_i function. e.g. h_i(2,w,"a","d","g") function will apply the 3 letter map h(definition is given in commented form in program) 2 times on string w.
In program w=a; and three letters are a, d and g. /* h(a)=abcab,h(b)=acabcb,h(c)=acbcacb */ here b=d and c=g.
Above program gives core dump at free(w2) free(w1). if we remove these free statements then it gives correct answer. But, we want to free w1 and w2 in the above code. How can we make free both w1 and w2 strings?
I want to know what was wrong with my code when I submitted. It's a Traveling Salesperson Problem, and the code is complete for the most part. I just can't seem to find what's causing the segmentation fault even after attempting to debug with gdb. Something is supposed to be wrong with line 76, but I don't see how my arrays are messing up. I've looked through this code countless times, and I know I'm just missing something small. I just don't want to end up making whatever mistake I made on this again in the future.
On compilation the following program does not give any error and when i run this program then sometimes it gives the segmentation fault. Specially with the larger values. I made sure that the values i inputted are not crossing any range of data types i used. I cannot get what is making my code to give segmentation fault error.
I have a problem in my code and after hours of looking I really cannot find out what is the problem.I use scanf to to parse lines of a file, let me copy only the important part:
Code:
/*File read...everything is fine*/ int seq_1, seq_i2; int len; while(fgets(&line[strlen(line)], line_length, file)!= NULL) { }
[code]....
if (num_sc ==4) //the wanted format, do something So I am allocating all variables, and giving to sscanf pointers, so I really don't get where the segmentation fault appears.I checked with the debugger, the first line of the file is read, but at the second it crashes at the line of sscanf! The two lines don't have the format I want in sscanf but therefore I check if this number is 4 and then do other stuff to the data...