Programming :: Pointer To Pointer Segmentation Fault?
Jun 27, 2009
I have been googling trying to fix this ... basicly I have a (int **) variable, and when I try to pass a (int) value to a specific position, I have seg.fault.Resuming what I have is:
I'm trying to write a simple program that lists a menu and then asks you for your decision, and you can answer with a number or the name. However, I don't know how to add the second options (name).
If I assign the value to the variable line = $(sed -n 8p file.txt)
and now print it out with echo
echo $line
the line would be printed.
But what if the file has only 4 lines. What value would be assigned to the variable line?
I want to know that because I want to only print it if the value is "something", that is not null.
In Java for example I would do it like this... String line = ""; line = reader.readLine(); // or anything else.. if(line!=null){ System.out.println(line); }
How would I check if the value is not "null"(I don't know if bash knows null)
I using a linux kernel v2.6.26.something. Distribution: OpenSuse 10.3. While writing a c program on linux in KATE, i used character pointers to declare a string like, for ex: " char *temp " but compilation with gcc gives me the error," Segmentation Fault " what is segmentation Fault Why does it occur or what are the reasons behind it?
I'm getting some information about C language and this session of a C book (follow the above link) is using a bad example for me. When I'm trying this example of function returning a pointer, my compiler is stating a warning that I return a pointer to a local variable. I realized that it is error prone after all this variable may be override before the function has done his execution. And the author is fooling me saying that this example is "perfectly safe". I'm wrong? There is something that I don't got yet? Sorry but this site is preventing me to post the link of book cause I'm a newbie, so a need the hack it. Just strip out the question signs:
I want to assign an address location to a pointer and wanted to display the value at that memory location.I wrote a small program for this and it is like this : (i am using gcc 4.4 compiler)
# include "stdio.h" int main() { unsigned int *a; a=(unsigned int *)0x3f8; printf("%u",*a); return 0; }
i am trying to find the size of an array, not by using the array as a parameter to "sizeof", but by using a pointer -pointing to the array- as a parameter. How do i do this?I use a 32-bit PC.Here's:
This is one of the strangest problems I've run into while programming. Maybe there's just something wrong with my version of gcc or something.
The main problem comes at this point in the code:
Code: po = makePoFromScorbotXYZPR(X, Y, Z, P, R); h = makeHB2GFromPo(po); printf("%le", *h[1][0]); //##################################### Here it has the right value printf("%s", "
I have been trying to get a void pointer cast to work and I seem to have some problems. My code compiles, but when I execute it gives back garbage data. I'm not sure what I'm doing wrong.
How could i create a script that will move the mouse pointer around the screen.i'm thinking i need the Xlib modules (which i have installed) but don't know how to implement them
I have a problem with correctly using a void pointer. I am writing a system that can open plugins and run them, and so far everything is going fine: I have a struct with some variables in, some function pointers, and I've written a small library to handle these correctly to communicate with the plugin. My challenge is that I need to put a pointer (let's call it "context") into this struct. The type is not important to the main body of code, and it is not ever used except by the plugin. The plugin will malloc some space for itself, and this *context will then point to whatever malloc returned. context is the address to a struct that I typedeffed to "ctxt".
Here is the first struct I mentioned: Code: typedef struct slave { int val1; int val2; int (*entry)(struct slave*, int a, int b); void *context; } target;
Here are some snippets from the plugin: Code: typedef struct context { int a; int b; } ctxt; (*target).context = malloc(sizeof(struct ctxt)); So that (*target).*(ctxt)*context.a should refer to the int a in struct context. But the error that the compiler gives me is a syntax one: "expected identifier before '*' token" Is my logic correct? Is my C correct?
I am programming an application with an ARM device with an embedded version of Linux. My application talks to a java application via socket. If there is any connection problems, it attempts the connection again. My problem is that after exactly 146 times, there is a Segmentation Fault. Apparently this happens in opening the socket, which is not successful after this amount of attempts.
Following, some code that I'm using:
The function for openning the socket and perform a connection:
I wrote a small c-code, which is based on a pseudorandom-alogrithm from the internet[URL]If i compile the code with "gcc test.c -o test -O2" the output is: "4194449".That's ok.I can compile the code without optimizations and the outut is the same.But if i compile the code with "gcc test.c -o test -O3" it creates a segmentation fault. But why? why this happens?Here the code:
Code: #include <stdio.h> // Code based on http://www.dreamincode.net/code/snippet342.htm
simple program to create a segmentation fault:my problem is if i include the same code char *s="hello world"; *s='H'; in my project, it is not giving any seg fault, instead it runs without any problem. what may be the issue.
I would just like to ask why my red hat cannot log a segmentation fault in any of the log files located in / var/ log. I purposely tried executing a C++ program that segfaults but nothing was logged.
When I compile my C program on SUSE, I receive a segmentation fault error. To my knowledge, this occurs when a program tries to recall memory but is not allowed to. So I'm using GDB for the first time to solve this problem. After a series of commands, I reach this point:
Code: #0 0x00002b13e1bab127 in getdelim () from /lib64/libc.so.6 #1 0x000000000040167b in main () at dmsp_cusp.c:158
Here's the offending code in dmsp_cusp.c: Code: 157 printf("enter the input file name:"); 158 getline(in_fname); 159 fp3 = fopen(in_fname, "r"); 160 if(fp3 == NULL) { 161 printf("can't open input file %s",in_fname); 162 exit(1); }
i wrote a program to fill an array with 100 random numbers ranging from 1 - 200. i compiled the program using gcc. the program successfully compiled but when i try to run it i get a segmentation fault. here is the code. i put *** on the line that gdb indicated was the problem.
I have this basic program that is supposed to scan a string for a delimiter and output which segment of the string the user wants, like awk '{print $2}'. The problem is, I always get a segmentation fault when I run the code and I can't figure out what triggered it.
Here is my code:
Code:
int main(void) { char *string = "my name is joe"; char dlimit = ' ', *good; int index = 2, round = 0; int i, place = 0, t;
[code]....
It keeps track of how many times the delimiter was found with round, and the position of the last found delimiter with place. index is to specify which segment of the string the user wants. One more thing, is it necessary to manually allocate memory with malloc() or calloc() when you can just initialize a variable and it be fine? Like:
I have what should be a relatively simple program (fadec.c) that maps a struct from an included header file (fadec.h) to a shared memory region, but Im struggling accessing members in the struct from the pointer returned by shmat. Ultimately, I want to access members in the shared memory structure with a globally declared version of the struct, shm__. Not only do I not know how to accomplish that, but I cant even seem to access members of the shared struct directly from the pointer itself (compiler complains about dereferencing pointer to incomplete type). Im at a loss and could use another set of eyes if you guys dont mind taking a gander:
Compile Errors: tony-pc:/cygdrive/p/test> cc -o fadec fadec.c fadec.c: In function 'main': fadec.c:30: error: dereferencing pointer to incomplete type fadec.c:31: error: dereferencing pointer to incomplete type