Reg: char ptr - Coredumps


 
Thread Tools Search this Thread
Top Forums Programming Reg: char ptr - Coredumps
# 1  
Old 01-07-2005
Reg: char ptr - Coredumps

#include <stdio.h>
void main()
{
int Index=1;
char *Type=NULL;


Type = (char *)Index;
printf("%s",Type);

}


Getting coredump

Last edited by vijaysabari; 01-07-2005 at 07:44 AM..
# 2  
Old 01-07-2005
Yes, this would cause the program to fail. What are you trying to do?

If you just wanted to read memory, shouldnt you use double instead if int?
# 3  
Old 01-07-2005
Code:
#include <stdio.h>
void main()
{
int Index=1;
char *Type=NULL;


Type = (char *)Index;
printf("%s",Type);

}

Well, Im still learning C just a novice. Looking at the code above though, Index does not have a new line terminus. Printf wont know when to stop printing. Is this why it cores?
# 4  
Old 01-07-2005
Hard to say if it got that far. There is no guarantee that virtual address 1 will exist or be readable if did exist. I'm guessing the code got a segmentation violation.
# 5  
Old 01-14-2005
Depending on Endian-ness and other things, printf may not encounter a zero (NUL) byte in an int = 1. This would say stop printing. I'd say printf() kept on into la-la land. segfault.

Try this something like hack and please don't use void main Smilie It will get revenge on you sooner or later.
Code:
int main( )
{
    int Index=0xff;
    char *type = (char *) &Index;
    int i=0;
    for(i=0;i<sizeof(int); i++)
    {
         printf("%d ", *type++);
    }
    printf("\n");
    return 0;
}

Assuming this is what you are trying to do. ASCII 1 doesn't display on most terminals.
# 6  
Old 01-14-2005
If you need to see how data is stored try something like this:
Code:
#include <limits.h>
void printBinary(unsigned int input)
{
   int x=sizeof(unsigned int);
   x*=CHAR_BIT;   
   for(--x; x>=0; --x)
   {
        printf("%d", !!((unsigned int)1<<x & input) );       
   }
   printf("\n");
}

int main()
{
    unsigned int index=1;
    printBinary(index);
    return 0;
}

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Invalid conversion from char* to char

Pointers are seeming to get the best of me and I get that error in my program. Here is the code #include <stdio.h> #include <stdlib.h> #include <string.h> #define REPORTHEADING1 " Employee Pay Hours Gross Tax Net\n" #define REPORTHEADING2 " Name ... (1 Reply)
Discussion started by: Plum
1 Replies

2. Solaris

Cannot resolve PTR record issue

Hi guys, I am currently receiving the following output in /var/log/syslog and is occurring every second leading to /var directory being full after every 2 days. Aug 20 17:32:29 opaldn1 sendmail: r7KCOlQm002517: ruleset=check_rcpt, arg1=<postmaster@silverapp6>, relay=, reject=450 4.4.0... (3 Replies)
Discussion started by: Junaid Subhani
3 Replies

3. Programming

error: invalid conversion from ‘const char*’ to ‘char*’

Compiling xpp (The X Printing Panel) on SL6 (RHEL6 essentially): xpp.cxx: In constructor ‘printFiles::printFiles(int, char**, int&)’: xpp.cxx:200: error: invalid conversion from ‘const char*’ to ‘char*’ The same error with all c++ constructors - gcc 4.4.4. If anyone can throw any light on... (8 Replies)
Discussion started by: GSO
8 Replies

4. Programming

concat const char * with char *

hello everybody! i have aproblem! i dont know how to concatenate const char* with char const char *buffer; char *b; sprintf(b,"result.txt"); strcat(buffer,b); thanx in advance (4 Replies)
Discussion started by: nicos
4 Replies

5. AIX

Zerofault terminates and coredumps - Segmentation fault

Hi, I am using zerofault in AIX to find memory leaks for my server. zf -c <forked-server> zf -l 30 <server> <arguments> Then after some (5 mins ) it terminates core dumping and saying server exited abnormally. I could not understand the core file generated: its something like show in below... (0 Replies)
Discussion started by: vivek.gkp
0 Replies

6. Programming

Adding a single char to a char pointer.

Hello, I'm trying to write a method which will return the extension of a file given the file's name, e.g. test.txt should return txt. I'm using C so am limited to char pointers and arrays. Here is the code as I have it: char* getext(char *file) { char *extension; int i, j;... (5 Replies)
Discussion started by: pallak7
5 Replies

7. Programming

int *ptr + max possible value

From reading my C book, Im aware that the integers have a maximum value which depends on what type of processor you are using (since they use 16-bit or 32-bit instructions). Now I know pointers are very flexible, since they can reference anything, but in the case of integer pointers, can they... (4 Replies)
Discussion started by: JamesGoh
4 Replies

8. Solaris

Coredumps and swap - was part of Solaris Mem Consumption

We have Sun OS running on spark : SunOS ciniwnpr67 5.10 Generic_118833-24 sun4u sparc SUNW,Sun-Fire-V440 Having Physical RAM : Sol10box # prtconf | grep Mem Memory size: 8192 Megabytes My Top Output is : 130 processes: 129 sleeping, 1 on cpu CPU states: 98.8% idle, 0.2% user, 1.0%... (39 Replies)
Discussion started by: rajwinder
39 Replies

9. AIX

Configuring Color Laser ptr in AIX

Hi All, I have Network color laser printer which is to be configured in AIX5L. The Model of the printer is OKI C3200. Will it is supported with AIX 5..? I could not find any drivers for this. Will any compatible drivers are available for this printer... I tried with the default drivers hplj-4... (2 Replies)
Discussion started by: helloajith
2 Replies

10. Programming

file ptr.

Is there any way to know the filename from an available file pointer. (2 Replies)
Discussion started by: bankpro
2 Replies
Login or Register to Ask a Question