2012-06-16 2 views
0

Я новичок в C и пишу простую программу для отображения байтового представления данных. Когда я компилирую, экран командной строки мигает в течение 1/2 секунды и исчезает. В более простых словах вывод не отображается. Ниже приведен мой код:C вывод не выводится (новичок в C)

#include <stdio.h> 
typdef unsigned char* pointer; 

void show_int(int); 
void show_bytes(pointer, int); 
int main() 
{ 
show_int(100); 
} 

void show_int(int x) 
{ 
show_bytes((ponter) &x, sizeof(int)); 
} 

void show_bytes(pointer start, int len) 
{ 
    int i; 
    for(i=0;i<len;i++) 
    { 
    printf("0x%p\t0x%.2x\n", start + i, start[i]); 
    } 
} 
+2

Если вы находитесь в Windows: http://stackoverflow.com/questions/2529617/how-to-stop-c-console-application-from-exiting-immediately – Mysticial

+0

Это тоже было полезно. А ты такой парень, если я не ошибаюсь. – jmishra

+0

Да, вы правы. :) – Mysticial

ответ

3

Программа, вероятно, отображает ваш выход, а затем быстро выходит. Перед выходом вы захотите отложить. Если вы работаете в Windows, используйте Sleep (миллисекунды); если вы работаете в Unix, используйте сон (секунды). Обратите внимание не только на разные единицы, но и на различную капитализацию.

+0

Спасибо! Я должен был '#include ', чтобы заставить 'Sleep (..)' работать, и это кажется глупым (я буду осторожен, чтобы назвать это, потому что я новичок в C), так как я уже работаю на Windows-машине – jmishra

+1

Поскольку вы используете C runtime для ввода/вывода, вы можете добавить вызов getchar() в конец main, чтобы программа не заканчивалась до того, как вы увидели вывод. Нажмите Enter/Return для завершения. –

1
show_bytes((ponter) &x, sizeof(int)); 

Я полагаю, что это должно быть (pointer)?

Следуйте совету Akroy. Если вы не используете IDE, например CodeBlocks, или что-то в этом роде.

1

во первых, show_bytes((ponter) &x, sizeof(int)); - правый!

вторичный, я думаю, этот вопрос заключается в том, что окно вывода быстро исчезает на консоли Windows, если я прав, вы можете запустить свою программу в cmd.

Например, ваша программа находится в d:\project\test.exe

start -> run -> cmd -> 

Шаг 1: изменить каталог в вашем рабочем месте,

cmd:\ cd /d d:\project\ 

Шаг 2: выполнить его

cmd:\test.exe 

или вы может выполнить его напрямую с полным путем: cmd:\d:\project\test.exe.