프로그래밍 QnA + 설치 및 활용 QnA

jjoship의 이미지

리눅스 환경에서 c언어로 소켓 프로그래밍하는데 막혀서요...

c언어 초보라서 뭐가 문제인지 잘 모르겠어서 질문좀 올리려구 합니다.

서버측에서 Hello World! 라는 문자열을 한칸씩 왼쪽으로 이동하여

변형된 문자열을 클라이언트측에게 전달을 하고 싶습니다.

ex)
Hello World!
ello World!H
llo World!He
lo World!Hel
o World!Hell

**********서버측 소스**********

PETCH의 이미지

문자열을 받아올때 여러가지를 해봤는데요...

처음으로 글을 올리네요.

배우긴 배웠지만 여러 가지 하다 보면 아주 기본적인 것들이 이해가 안 가고 그렇다 보니 실제 필요한 프로그램을 짤 때는 문제가 많이 생기네요... 고수님들 부탁드립니다..

#define _CRT_SECURE_NO_DEPRECATE
#include <stdio.h>
void main()
{
	int ch[] = { 'abcd','13' };
	printf("%s,%d", ch,sizeof(ch));
 
}

위와 같이 했을 때 문제가 생기는 것이 당현한것을 알지만, 솔직히 어째서 오류가 뜨는지 이해가 안 가네요.

일단 int형 자료는 4byte니 문자가 4개까지 문자가 들어갈 수 있지 않나요? 문자는 8bit를 쓰니까요.

그래서 위와 같이 짰을 때 문자 문자가 4개가 초과하게 초기화했을 때 빨간 줄이 생긴다고 이해를 했습니다.

noricmk2의 이미지

c언어 fopen함수 질문입니다

우연히 구글링하다가 여기를 찾게되서 처음으로 질문올려봅니다.

c언어책 문제풀다가 메인함수로 파일이름을 받아서 그걸 함수안에서 열어야 하는게 나왔는데

khalisto의 이미지

sed -n '/west/, /east/p' datafile 을 역으로 검색하는 방법이 없을까요?

안녕하세요.

sed 패턴검색에 관한 내용을 찾다가 sed -n '/west/, /east/p' datafile 를 알게 되었는데

datafile 의 내용이 아래와 같을 때

west
north
east
south

위 명령을 실행하면 west~east 범위 내의 내용을 아래로 검색하여 출력하는데 이와 반대로 시작 패턴이 east 이고 종료패턴이 west

이게 (east~west 사이의 내용을 위로 검색) 하는 방법이 있을까요??

woooke의 이미지

MFC 버튼 깨짐 현상 관련 질문있습니다.

BtnST 라이브러리를 이용해서 CbuttonST 객체로 버튼들 사용하구 있는데

돌리다보면 어느 순간 버튼들이 다 검정색으로 깨져버립니다.

프로젝트 끄고 다시 실행하면 깨지지 않고 다시 잘 돌아가구요.

어떤 문제가 있을때 이런 현상이 발생하는지 알고싶습니다.

부탁드립니다~~

vani2의 이미지

Trotinet Proxy라이브러리가 warning.or.kr 차단 필터를 우회 할 수 있는 이유?

얼마 전에 영 좋지않은 법안이 개정되어(개정판 전기통신사업법) 기념으로(?) 이쪽 분야에 관심이 생겨 몇가지 찾아보게 되었습니다.

여튼 본론으로 들어가자면
인터넷 검열 우회에 관련하여 검색하다 닷지크롬과 닷지웹이라는 흥미로운 프로그램을 발견했습니다. 이 두 프로그램들은 외부 프록시나 VPN을 사용하지 않고 warning.or.kr등의 차단필터(덧글을 보면 해외의 검열방화벽도 우회했나봅니다)를 우회하는 신기한 프로그램입니다.
두개의 프로그램 모두 초기버전에선 헤더를 조작하여 요청을 보내는 방식으로 차단 필터를 우회했으나 얼마전 ISP의 서버 보안패치 이후 막혔다고 합니다.
하지만 기다렸다는 듯이 새 버전을 내놓았으며 wireshark같은 툴로 패킷을 분석해 보았으나 이번엔 헤더에 어떠한 조작도 가하지 않았다는 것을 알 수 있었습니다.

jaeung24k의 이미지

Little endian system에서 Big endian system 대응 소프트웨어를 작성해야 합니다..

제목 그대로입니다.

제 노트북이 Little endian인데 아무 생각없이 코딩을 하다보니 Little endian에서 동작하는 프로그램을 작성했네요..

물론 제 코드는 Byte 연산이 많아서 Endian 종류에 종속적입니다.

다행히 타겟보드가 ARM인데 Little endian으로 설정되어 있어서 동작하기는 합니다만...

문제는 타겟시스템의 종류가 다양하여 같은 ARM보드라도 Big endian으로 설정되어 있을 수 있다는 거네요.

Little endian 개발환경에서 Big endian에서 동작하도록 어떻게 개발하며 어떻게 디버깅할지 막막하네요...

선배 임베디드 개발자분들의 조언을 부탁드립니다..

twinwings의 이미지

패킷을 중간에 가로채서 변조하고 싶습니다.

리눅스 단말 #1, #2, #3개가 현재 작동하고 있고

#1----#2----#3

이렇게 연결되어있습니다. 이 때, #1이 #3에게 데이터를 보내려면 #2를 거칠 수 밖에 없지요.

이때, #2에서 단순히 패킷을 까보는게 아니라 완전히 제어(변조) 하고 싶습니다.

특정 (IP Header Field의)Protocol에 한정해서 말이죠.

어떻게 해야 할까요? raw 소켓 이용하려니 단순히 패킷을 볼 수만 있고 #3으로 forwarding

되는걸 막을 수 없을 것 같습니다.

선배님들의 많은 도움 바랍니다. (_ _)

PS1.

duraboy의 이미지

Java GUI 프로그램을 솔라리스에서 실행시 멈춥니다

Java로 swing 을 이용해서 gui 프로그래밍을 하였습니다.

javac 로 해서 컴파일을 하였을시아무 이상없이 컴파일 완됩니다.

하지만 실행시에 그대로 멈춰버리네요

무슨이유일까요??

중요한게 이게 윈도우에서도 실행이 되고 , 다른 웍스에서는 실행이 되는데

정작 실행시키고 싶은 웍스에서는 실행이 되질 않습니다.

ewqqwe의 이미지

malloc를 이용해 2차원 배열을 만들때 질문드립니다

int main(int argc, char** argv){
int key = 0;
int **a;
int count = 0;
cin >> key;
a = (int**)malloc(sizeof(int*)*key);

for (int i = 0; i < key; i++){
a[i]= (int*)malloc(sizeof(int*)*key);
}
for (int i = 0; i < key; i++){
for (int j = 0; j < key; j++){
a[i][j] = count;
cout << a[i][j];
count++;
}
}
for (int i = 0; i < key; i++){
free(a[i]);
}
free(a);
}

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기