printf()가 안된다?...

sadrove의 이미지

소켓 프로그래밍중입니다..
처음 코드 부분이 아래와 같은데요..
제일 아래 부분을 보면
printf("여기");
란 부분이 있죠...
그럼 그 아래부분 코드가 잘못되었건 말건...
"여기"란 글자는 출력되어야 하지 않나요.?
그냥 선언과 include만 했을뿐인데...
분명 컴파일도 이상없고요...
printf("여기"); 의 아래부분은 소켓 생성하고..접속하고..머 그런부분입니다..
그런데 실행하면 아무것도 안나온 상태에서 화면에 아무것도 안 나옵니다..ㅡㅡ;
이럴 경우엔 보통 어떤 부분을 살펴봐야 할까요..
정말 답답하네요...

#include<sys/stat.h>
#include<sys/wait.h>
#include<signal.h>
#include<sys/types.h>
#include<unistd.h> 
#include<string.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<stdio.h> 
#include<errno.h>
#include<netdb.h>
#include<stdio.h>
#include<stdlib.h>
#include<dirent.h>
#include<time.h>
#include "md5.h"

#define BUFFSIZE 1024	
#define MAX_NUM_CLIENT 5
#define TIME 1000

// 함수의 프로토 타입 선언
void cache_process(int);
static void sig_cld(int);
void logwrite(char*, char*, int);

int main()
{
	int nCli;
	int nAcceptSD, nClientSD;
	char buf[BUFFSIZE], temp[BUFFSIZE], temp2[BUFFSIZE];
	int nSockVal = 1;
	struct sockaddr_in pserv, cli;	
	pid_t pid;

	printf("여기");

물론 그냥 아래 같은 건 제대로 출력됩니다...

#include<stdio.h>
int main()
{
     printf("Hello world\n");
     return 0;
}
choissi의 이미지

문자열에 \n 을 추가 하고 테스트해보세요.
flush와 관계된 문제 입니다.

울랄라~ 호기심 천국~!!
http://www.ezdoum.com

zienie의 이미지

거기에

fflush ( stdout ); 을 추가해주시면 확실해질겁니다. ^^

##########################################################
넘어지는건 아직 괜찮다.
하지만 넘어질때마다 무언가를 주워서 일어나자.

sadrove의 이미지

답변 감사드립니다...^^

불량청년의 이미지

위에 분들 말씀이 다 맞구요.

#set -x

로 해주시고 실행시키면 쉘이 확장 되는게 다 나오는군요. *^^*

H/W가 컴퓨터의 심장이라면 S/W는 컴퓨터의 영혼이다!