프로그래밍 QnA

netbsd00의 이미지

C언어 포인터 문제

코드는 이렇습니다.

#include <stdio.h>

void main()
{
	char *tmp;

	scanf("%s", tmp);

	printf("%s", tmp);
}

간단한 위 소스를
XP에서 Visual C++ 6.0으로 컴파일 하여 실행할 경우
오류가 납니다.
하지만 같은 코드를 unix에서 gcc로 컴파일 할 경우엔
제대로 실행이 되는데 도데체 왜 그런지
알수가 없군요.

stypr의 이미지

stl에서 split를 이용할적에 delimiters에 언다바(_)가 들어가면

제목처리 delimiters 를 _AA_이런 형식으로 주면
문자열이 다음처럼 언더바가 들어가면 언더바까지 split를 하고만는군요. 실제 split는 언더바 몇번 뒤에있는데 말입니다.

아래에서 _AA_로 split하면
aaa_bbb_ccc
ddd
이렇게 나와야하는데....이거이..
aaa
bbb
ccc
이렇게 나오는군요.
_AA_aaa_bbb_ccc_AA_ddd

find_first_of를 이용하여 pos를 엊는데 pos값의 범위가 이상하군요..흑흑..

uptownguy의 이미지

문자기반 디바이스 관련..

이중 연결 리스트 struct list_head를 사용해서 사용자가 전달한 데이터를 관리하고 제출하는 문자 기반 디바이스를 작성할려고 하는데 디바이스의 minor 번호에 따라 다음과 같이 되게하려고 합니다..

Minor no. 0 : 사용자 프로그램에서 write만 가능하며, read는 불가능함
Minor no. 1 : 사용자 프로그램에서 read만 가능하며, write는 불가능함

kim1158의 이미지

라우터와 게이트웨이의 차이가 무엇인가요.

둘다 네트워크의 진입점이죠. 기능은 패킷 포워딩/필터링이고요.
게이트웨이는 개념이고 라우터는 실제구현된거.
그 이외에 어떤차이가 있는지.. 답변 좀 부탁드려요^^

그리고 스위치와도 헷갈립니다. 스위치와는
어떤 차이점이 있을까요..

zieben의 이미지

casting에 대한 질문입니다.

결국 이틀간 고민을 해봐도 모르고 다시 질문 드립니다.

지금 QChar( 2Byte )를 wchar_t type( 4byte ) 로 캐스팅 하고 싶습니다.

다음과 같은 코드인데요..

QString test = "TEST";

wchar_t* temp = (wchar_t*)(test.unicode());

여기서 unicode()함수는 QString class에서 지원하는 함수로서 QString을 QChar로 바꿔주는 함수입니다.
QChar는 2byte로 되어있는 마치 char와 같은 역활을 수행하는 class이구요.

이제 질문입니다. 보시는바와 같이 w_char* 에다가 QChar*로 된 문자열을 w_char*로 캐스팅 해서 집어넣는 것입니다.

psjcap의 이미지

send를 cancel 시킬 수 있을까요..

send하는 도중에 어떤 이벤트가 발생하면..
close를 해야합니다..

send와 close가 동시에 일어나지 않도록 lock처릴 하면 되긴 하지만..
send가 장시간 블록되는 경우에..
close또한 장시간 블록되어 버립니다..

이것을 막기 위한 방법이 없을까요..??
send를 cancel시키고.. close를 시킴 좋겠지만..
이런 방법은 들어 본 적이 없어서..ㅠㅠ

그럼 읽어 주셔서 감사합니다....^^"

redglim의 이미지

데몬으로 띄울 때 로그 남기기..

fork 안하고(demon으로 안만들고..) 그냥 loop 도는 간단한 서버입니다.
stderr 로 로그를 남기는데요
./server > log.txt 2>&1
이렇게 실행하면 로그가 잘남는데,
./server& >log.txt 2>&1 이런식으로 background로 띄우려고 하니
로그가 남지 않는군요..
이유와 해결책이 궁금합니다..~
답변 부탁드립니다.~

smileng의 이미지

[질문] 파일이름을 변경하는 쉘인데 문제가 있습니다...ㅜㅜ

안녕하세요..
지금 여러개의 파일을 변경하는 쉘스크립트를 작성중입니다.

/bin/sh 입니다.

#!/bin/sh
# renames.sh
# 간단한 파일 이름 바꾸기 프로그램

criteria=$1
re_match=$2
replace=$3

for i in $(ls criteria);
do
src=$i
tgt=$(echo $i | sed -e "s/$re_match/$replace/")
mv $src $tgt
done

위와같이 하면 잘됩니다.

그런데..csh에서 실행하고자 하면 다음과 같은 에러를 보입니다.
어떻게 해야 csh에서도 실행할 수 있는지요?
[code:1]RED:/pic>./rename.sh /pic/1111 color rlz

i++의 이미지

최적화 할때와 안할때에 char *ch 가 다르게 설정되는건가요?

저 밑에 소스에서 char ch[MAX_COLUMN]; 을 char *ch 로 선언하게 되면 최적화를 하지 말라고 했을때는 아무 오류없이 컴파일되나 -O1 만 주어도

Quote:

warning: `char*ch' might be used uninitialized in this function

라고 경고를 띄우고 컴파일되고 실제 실행해보면 세그먼트폴트 내면서 죽습니다.

최적화 할때와 안할때에 char *ch; 가 다르게 설정되는 것인가요?

[code:1]
bool FILE_IN::read_by_scheme( vector<scheme>& param )
{
string buffer;
scheme temp;

aniseeker의 이미지

사용자 정의 함수들이 호출되는 순서를 알고자 합니다.

사용자 정의 함수들이 호출되는 순서를 알고자 합니다.

strace와 유사한 형태로 호출되는 사용자 정의 함수를 리포트해주는

툴이 있을까요?

이런 방법만 안다면 어떤 프로그램이던 소스 분석하는데 아주 편리할 거란

생각이 드네요.

페이지

프로그래밍 QnA 구독하기