프로그래밍 QnA

kws4679의 이미지

select 쿼리문 어떻게 생성하시나요?

이런것을 다이나믹 쿼리라고 하나요 정확히 용어를 잘 모르겠지만

보통 게시판이나 검색에서 이런경우가 많던데요

예를들어 이름, 나이, 성별, 등으로 검색한다고하면

사용자가 각각 이름, 나이, 성별을 검색 조건을 하지 않았을때 부터시작해서 각 조건을 설정했을때

그리고 특히 나이같은경우는 어느 나이부터 어느나이까지를 검색해야 되고 이런 상황에서

체계적으로 쿼리를 작성하거나 프로그램을 구성하는 방법이 없을까요? 너무 중구난방식으로 if else 만 들어가는거같고

흐름도 보기 매우 안좋더군요....

거기다가 쿼리 자체가 뭔가 통일성이 있는게 아니라 예를들어 where 문이 처음나오면 그냥 쓰고 다음부터는 and, or 등으로 이렇게 나눠지니

또 preparedstatement 쓰면 ' 표시가 들어가서 어쩔수도 없고..

조건에 따른 쿼리 생성이 매우 힘든것 같습니다 보통 어떻게들 하시는지 알고싶습니다!!

dltkddyd의 이미지

[해결]리눅스 gcc에서 C++ 파일 소스 확장자는 뭘로해야 하나요?

프로젝트에서는 선언문을 헤더파일(확장자가 h인 파일)에 그리고 구현을 위한 것은 별도의 파일로 만든다고 하는데, 그 파일(구현을 위한 파일)이 cpp인가요, cc인가요? gcc에서는 어떻게 그 소스파일 이름을 정해야 하는지 모르겠네요.
그리고 헤더파일에는 어떤 내용이 들어가야 하고 cc 또는 cpp 파일에는 무엇이 들어가는 것인가요?

shodhpfooqmm의 이미지

scanf 버그 인가요?

"string 123123 123123 . . . 0.5"

이와 같은 라인(공백은 탭)을 1, 6번째 데이터를 무시하고 fscanf로 읽고자 하여

fscanf(fp, "%*s %d %d %s %s %*[^\t] %lf",
&bank->data[i][j].str,
&bank->data[i][j].end,
data1,
data2,
&bank->data[i][j].value);

와 같이 하면 다른 값을 다 읽히는데 value값은 읽어지지 않고 값을 찍어보면 0.0000(초기 값)이 나옵니다..

구조체는 대략
struct data {
int str, end;
double value;
};
와 같은 형태이고, bank 구조체가 포인터로 data구조체를 가리키고 있습니다.

ts의 이미지

[완료] "UTF-8 Unicode (with BOM)" 파일을 ASCII 파일로 변환 방법 좀 가르쳐 주세요

안녕하세요, 우선 불쑥 질문글 올려 죄송합니다.

제 상황은, 리눅스 상에서 C++ 코딩하는 어떤 프로젝트를 하고 있는데
가끔 집의 윈도우 머신에서 Microstudio visual studio에서 코딩도 합니다.

리눅스 머신과 윈도우 머신을 왔다 갔다 하다 보니
인코딩 같은게 얽히기 시작하였고

오늘 급기야 컴파일이 안되는 일이 벌어져서 찾아보니 어떤 파일에
잘 보이진 않지만 BOM인가 뭔가 하는 unicode가 들어가 있는게 화근인것 같습니다.
(vi 에디트에서는 안보이지만 svn diff 해보면 파일 처음 부분에 요상한 한자가 보여요).
컴파일 시는
Error: Bad source file(binary) xxx.h ... 이런 에러가 뜨고요.

그래서 제 질문은, 제 소스 코드들에서 unicode들 제거하고 평범한 ascii 파일로 만드는 쉬운 방법이 있을까요 ?

참고로 예들 들어 file 명령을 쳐보면

nathaniel7687의 이미지

[완료] API 더블 버퍼링을 하려고 합니다.

도대체 어떻게 어디를 더 손봐야 할지 모르겠습니다. ㅠㅠ 가르쳐주세요 고수님들 ㅠㅠ

nathaniel7687의 이미지

API 더블 버퍼링을 하려고 합니다.

도대체 어떻게 어디를 더 손봐야 할지 모르겠습니다. ㅠㅠ 가르쳐주세요 고수님들 ㅠㅠ

declspec의 이미지

디바이스 드라이버와 하드웨어

안녕하세요 질문이 있습니다.

리눅스든, 윈도우즈든 디바이스 드라이버를 작성했을때
이것은 응용 프로그램에게 일종의 핸들이나 파일디스크립터의 형태로
자신을 노출시키고, 응용프로그램은 이런 디스크립터를 통해서
ioctl, read, write 등의 시스템 API 를 사용하여
디바이스 드라이버와 통신을 하고 데이터를 주고받죠?

이렇듯 디바이스 드라이버 모듈과 응용 프로그램이 통신을 하고 데이터를
주고받는 메커니즘은 알겠는데

디바이스 드라이버와 하드웨어가 서로 통신을 하고 데이터를 주고받는 것에는
표준함수(write, read, WriteFile, ReadFile) 같은게 없는거같은데
어떤 방식으로 디바이스 드라이버는 하드웨어를 제어하게 되는건가요??

declspec의 이미지

커널영역과 가상메모리에 대한 질문

안녕하세요 질문이 있습니다

1. 32비트 x86 아키텍쳐에서 4기가바이트의 가상메모리 주소공간을 각각의 프로세스가 가지고있고
이것이 MMU 에 의해서 실제 메모리주소로 변환이 되잔아요?
그렇다면 커널디바이스드라이버 코드에서는 어떻게 되나요?
커널 디바이스 드라이버 코드에서(윈도우든, 리눅스든 아니면 각자 다른가요?)
만약

int* p = (int*)0x12345678;
*p = 1;

이런 코드를 짠다면 저기서 0x12345678 은 실제 메모리주소가 되나요?
아니면 가상메모리 주소가 되나요?

접근 불가능한 메모리 주소가 되서 오류가 난다고 하더라도
그 구체적인 과정이 어떻게 되는지 궁금하네요...

hangsookang의 이미지

[완료][추가질문]열혈강의 c 프로그래밍이란 책으로 공부 중에 오류가 났는데...

열혈강의 c 프로그래밍이란 책으로 공부 중에 오류가 났는데 왜 오류가 나는 지 모르겠습니다 ㅠㅠ
라는 제목의 질문글에서 올렸던 코드입니다.
바로가기: http://kldp.org/node/129595

#include <stdio.h>
 
int main(void)
{
   char a, b;
   char result;
 
   printf("-50 이상 +50 이하의 수 둘 입력 : ");
   scanf("%d %d", &a, &b);
   result=a+b;
   printf("두 수의 덧셈 결과 : %d \n", result);
 
   return 0;
}

이 코드를 실행해서 a 와 b 에 숫자를 넣어주면
b 만 나오는 오류가 있었는데

yschoi의 이미지

/etc/hosts의 loopback IP 주소에 시스템 호스트명이 있는 경우 패킷은 어떤 인터페이스(IP)를 물고 나가나요?

시스템 설치쪽인지 프로그래밍쪽 QnA인지 몰라 일단 이쪽에 올립니다...

저희 웹서버의 hostname이 AHOSTNAME이고

사설 IP 192.1.1.1와 공인 IP 222.1.1.1을 가집니다.

저희쪽에서 상대편웹서버(공인IP 223.1.1.1을 가짐)으로 POST를 하고 이때 A의 URL http://a.b.c를 파라미터로 던져 리턴값을 받는데요,

A의 /etc/hosts파일을 보니
127.0.0.1 loopback AHOSTNAME
달랑 이렇게 한줄만 있네요. 이상하게 시스템명이 loopback주소로 되어있어서

127.0.0.1 loopback
192.1.1.1 AHOSTNAME

이런식으로 수정을 했더니 위의 웹 프로그램이 동작을 하지 않습니다. 현상을 보면 저희가 던지는 파라미터를 상대편 웹서버에서 못받는것 같은데요..

위처럼 127.0.0.1 loopback AHOSTNAME으로 다시 수정하면 잘 동작합니다...

페이지

프로그래밍 QnA 구독하기