프로그래밍 QnA

dltkddyd의 이미지

46.40001과 46.4f를 출력할 때,

double ex1=46.40001;
double ex2=46.4f;
printf("%f\n",ex1);
printf("%f\n",ex2);

이 소스를 컴파일 해서 실행하면

46.400010
46.400002

가 출력됩니다.

입력한 대로

46.40001
46.4

로 출력되도록 하려면 어떻게 해야 하나요?

ant01의 이미지

php에서 버튼을 눌렀을 때 변수와 함께 다른 페이지를 호출 하는 방법

php에서 버튼을 눌렀을 때 사용 중 이던 변수와 함께 다른 페이지를 호출 하는 방법좀 알려 주시면 감사하겠습니다.

사용 중 이던 변수라 함은 입력받은 변수가 아니고 페이지 내부에서 사용하던 변수입니다.

ant01의 이미지

php에서 버튼을 눌렀을 때 변수와 함께 다른 페이지를 호출 하는 방법

php에서 버튼을 눌렀을 때 사용 중 이던 변수와 함께 다른 페이지를 호출 하는 방법좀 알려 주시면 감사하겠습니다.

사용 중 이던 변수라 함은 입력받은 변수가 아니고 페이지 내부에서 사용하던 변수입니다.

forglee의 이미지

웹 브라우저의 인코딩 결정에 관해 질문 드립니다~ㅜㅜ

안녕하세요.

저는 최근 크롤러를 개발해보고 있습니다.

크롤러 작동과정은

HttpSocket을 이용해서 웹페이지를 요청하면

HttpSocket내의 HttpParser가 HttpHeader를 분석하고 HttpBody(문서내용)를 저장합니다.

이 저장된 문서를 HtmlParser에 넣고 원하는 작업을 시작하려 하는데

인코딩 문제가 매우 골치아픈듯합니다.

현재 HttpParser에서 헤더 분석후 charset을 보고 적절한 형태로 변형해서 쓰고있습니다. 그런데 문제가 있습니다.

HTTP Response Header 를 보면

HTTP/1.1 200 OK
....
...
Content-Type: text/html; charset=UTF-8
.....

이런식으로 전달되어옵니다.

dltkddyd의 이미지

실수형 표현시 접미사 f때문에 발생하는 심각한 문제에 대해

실수형을 서로 비교하는 프로그램을 gcc로 컴파일 하다보면 이런 문제가 생깁니다.

double a=45.4;
double b=45.4f;

45.4f와 45.4를 비교연산할 때 같은 것으로 컴파일이 인식하도록 만들려고 별도의 클래스를 만들었습니다. 제가 만든 클래스는 45.4f와 45.4를 == 연산자로 비교하면 참을 반환하도록 만들었습니다. 그런데 문제는 소수점 및으로 길어지면 비교가 제대로 안되는 문제가 발생합니다. 원인을 찾아보니 45.4f를 double로 캐스팅 할 때에는 비트구조상 45.4f의 마지막 32번째 비트에서 그 아래 비트가 반올림되어 표현되기 때문에 정확한 비교가 안되더군요. 차라리 45.4f를 double로 캐스팅해도 마지막 비트가 반올림 되지 않는다면, 사용자가 알아서 클래스를 만들어 비교연산자 ==를 정의할 때, 45.400001과 45.4f를 == 비교시 false가 반환되로록 할 수 있는데, 지금 상태의 gcc가 만들어내는 비트구조로는 그게 안되는 것 같습니다.

nfsp3k의 이미지

자식 프로세스에서 부모 프로세스를 죽이는 방법이 있을까요?

멀티 채팅프로그램을 만들고 있습니다.
서버가 있고 여러개의 클라이언트들이 서버에 접속하여 1:1로 채팅을 할 수 있는 프로그램입니다.

접속한 클라이언트간 채팅방이 만들어져
1:1로 채팅을 시작하게 되면,
각각의 클라이언트는 fork를 통해 두 개의 프로세스로 나누어 집니다.

부모 프로세스는 사용자로부터 입력한 내용을 서버로 write하는 역할을,
자식 프로세서는 서버를 통하여 건너온 상대 클라이언트의 메세지를 read하여 화면에 출력하는 역할을 합니다.

여기서 제가 구현하고 싶은 기능은
두 클라이언트 중 어느 한명이라도 quit을 입력하면
둘 다 채팅방에서 나가게 되는 기능을 하고 싶은데요.

quit을 입력한 클라이언트 같은 경우,
부모 프로세스가 자식프로세스를 kill하면서 프로그램을 종료시킬 수가 있는데요.
상대 클라이언트의 경우, 자식이 상대방의 메세지를 확인하기 때문에 부모를 kill 할 수가 없는 상황입니다.

getppid() 함수를 이용하여 부모의 pid를 받아와

heisenjoy의 이미지

ftime() 함수 포함된 소스파일로 make 명령 실행시 오류가 발생합니다.

FreeBSD 8.2 환경에서 ftime() 함수가 포함된 소스파일을 make 명령 실행시 아래와 같은 오류 메시지가 출력됩니다.

gold5230의 이미지

[완료]expected unqualified-id before '{' token 은 함수 중복을 의미하는 에러가 아닌가요?

얼마 전부터 c를 공부하게 되어서 간단하게 계산기를 만들어 보았는데

expected unqualified-id before '{' token 이란 에러가 뜨네요.

munhoney의 이미지

다른 버전을 갖는 라이브러리를 공존하는 방법은?

안녕하세요 예전 코드를 컴파일 중에 라이브러리 불일치 문제가 있어서 문의드립니다.

음.. 현재 사용하고 있는 운영체제 (우분투 12.04)에 A라는 라이브러리가 이미 설치 되어있습니다. 버전은 1.1이라고 하지요.
하지만, 예전 코드에서는 1.0을 사용하고 있습니다. 둘간에는 마이너한 부분만 수정되었지만, 예전 코드 상에서는 이 부분이 매우 중요하여 꼭 1.0 버전을 사용해야 합니다.

zzang3757의 이미지

소켓 keep alive 관련하여 질문 드립니다..

c 소켓에서

setsockopt 함수를 이용하여 keep alive 패킷을 전송하는 시간 설정을 변경 하려 합니다.

tcp 스택 단에서 변경된 keep alive 전송 시간에 따라 패킷을 전송할텐데,,

상대측에선 이 keep alive 패킷이 도착했는지 안했는지,, 어플리케이션 단에서 알수 있는 방법이 있나요 ??

tcp가 알아서 전부다 처리하기때문에 어플리케이션에서 keep alive 패킷의 도착 여부는 확인할 방법이 없는건가요 ㅜ

페이지

프로그래밍 QnA 구독하기