프로그래밍 QnA

jung78yw의 이미지

substring으로 변수 지정시 질문드립니다.

파일을 입력받아서 한줄씩읽어가며 데이터를 저장하는 방식인데요..
자체 sbstring(substring 기능)으로 잘라서 변수에 넣었는데...
아래 BF_DATA 값이 뒤죽박죽 섞인값이 나오네요..
"\0" 값이 안들어가서 그런것 같아 변수에 넣어도 안되네요..
데이터에 공백이 있어 그런것일수도 있는지...

CUS_NO는 아래와 같이 처리했을때 제대로 되는데..
BF_DATA 는 왜이런지 모르겠네요..
tmp4.CUS_NO.len = sprintf((char *)&tmp4.CUS_NO.arr,"%s",rtrim(sbstring(sdata4,32,45)));

dltkddyd의 이미지

특정 클래스로 선언한 포인터 배열에서

myType라는 클래스가 있습니다. 그리고 멤버요소는 int a, int b, char* str 세 개입니다. 그리고 생성자에서 이들을 초기화합니다. 그리고 다음과 같이 했는데,
int main() {
myType *ex[]={(20,40,"bear"),(123,134,"gummy")};
}

ex[0],ex[1] 이라는 myType형 객체가 제대로 만들어지지 않습니다. 컴파일 시

cannot convert 'const char*' to 'myType*' in initialization

이라는 에러메시지가 뜹니다. 포인터 배열을 선언과 동시에 초기화하고 싶은데요, 저 방법이 아니던가요?

Sailor_moon의 이미지

해쉬 테이블에서 이해가 안가는 부분 ...

int h = 0;
h = hash1(string);
h = h%MAX_HASH_SLOT;
 
 
 
 
 
unsigned long hash1(char* str){
   unsigned long hash = 5381;
   int c; 
   while(( c = *str++) != 0) 
       hash = (( hash <<5) + hash) + c; 
  return hash;
}

이부분이 이해가 안됩니다. 해쉬의 인덱스를 찾는 방법중 하나인가요 ? 저 hash1 함수가 무엇인지요 ?

c_beginner의 이미지

[완료] 바이트 배열에 정수형 상수 일부분 복사하는 방법

C를 시작한지 3개월에 접어든 대왕초보입니다. (ㅠㅠ)
책과 여러 사이트에서 조언주시는 분들 덕분에 잘 공부하고 있는데요.

BYTE arTest[3];
int x = 0x102030;
 
// 성공
arTest[0] = 0x30;
arTest[1] = 0x20;
arTest[2] = 0x10;
 
// 성공
memcpy(arTest, &x, 3);
 
// 실패
memcpy(arTest, (void*)0x102030, 3);

메모리 관련 함수를 공부하던 도중에 위와같이 잘 모르는 경우가 나와서 질문올립니다.

성공이라고 적은 예제들은 책에 나온것인데요. 잘 작동을 합니다.

실패한 것은 예제 작성중 정수형 상수를 공부한 것이 생각나서 굳이 x를 사용하지 않고, 정수형 상수를 넣으면 되지 않나?라는 생각이 들어서 넣어봤는데요. 오류가 발생합니다.

doraq의 이미지

eSATA 외장하드 장착시 에러메시지

임베디드 박스에 eSATA 외장하드(160G)를 달았습니다.
그런데 최초 마운트시에도 아래로그 비슷한게 나오고, (그래도 마운트 됩니다, 사용도 잘 되구요)

아무것도 안하고 shell에 가만히 있어도 간간이 아래 로그가 나옵니다.
외장하드를 제거하고 곧장 내장처럼 연결하면 문제가 없습니다.

또한, 같은 외장케이스에 다른하드1(320G)를 달면 또 잘 됩니다.
또한 같은 외장케이스에 다른하드2(160G)를 달면 같은 에러가 납니다.

포멧은 한번 삭~ 해줬습니다. 정말 하드가 문젠가요?
이유를 알려주세요

콩수니의 이미지

영상을 받아오려고 rtsp 클라이언트를 만들려고합니다.

안녕하세요 카메라로부터 영상을 받아오려고합니다
rtsp 방식으로 영상을 받아오는건 알겠습니다
메세지 형식과 그 과정도 이해는 했는데요

자바에서
막상 구현 할려고보니 무엇부터 해야 할지 몰라서 이렇게 질문을 올립니다.

tcp연결로 먼저 소켓으로 연결해서 카메라쪽에서 인식하는 메세지 방식
즉 rtsp 프로토콜이 요구하는 방식으로 보내느 것이 맞는가요?
예를 들어
다음에 메세지를 그냥 버퍼에 담아서 flush() 하면 되는것인지
OPTIONS rtsp://192.168.0.104/nphMpeg4/nil-320x240 RTSP/1.0\r\n

dltkddyd의 이미지

[해결]구조체 안에 클래스로 선언한 객체에 대하여

ast라는 구조체 타입이 있고, ccla라는 클래스 타입이 있습니다. ccla에는 문자형 포인터가 있고요. 그리고 ast 안에 ccla로 선언된 obj가 존재합니다. 그리고

ast* head;

라고 전역에서 선언했습니다. 그리고 특정 함수에서 head에 동적할당을 다음의 방식으로 합니다.

void set(ccla ft) {
head=new ast;
head->obj=ft;
}

이 때 head->obj 라는 객체는 언제 소멸할까요?

첫번째, head가 전역이니, 프로그램이 종료될 때,
두번째, head에 동적으로 할당하는 함수가 반환주소로 돌아온 직후
세번째, delete로 hed를 지울 때

그리고 head->obj의 동적으로 할당된 문자형 포인터가 가리키는 메모리는 언제 해제되나요?

thnkdiff의 이미지

클래스 멤버로 선언된 상수의 초기값이 저장되는 메모리 위치는?

요즘 Effective C++ 책을 보고 있는데요, 거기 아래와 같은 코드가 나옵니다.

class GamePlayer {
private:
  static const int NumTurns = 5;
  int scores[NumTurns];
  ...
};

여기에서 NumTurns는 '정의'가 아니라 '선언'된 것이구요,
이 상수의 주소값을 구하지 않는 한, 이렇게 정의 없이 선언만 해도 문제가 없다고 나옵니다.
만약 어딘가에 이 상수의 주소값을 구하는 코드를 쓰게 되면, 구현 파일에 아래와 같이 상수의 정의를 해야한다고 합니다.

asleea의 이미지

usb디바이스 드라이버에서 endpoint 란 무엇인가요 .?

공부 하다 보니 endpoint라는 용어가 자꾸나오는데 정확시 무엇이지 모르겠네요 .

shodhpfooqmm의 이미지

[완료]c언어에서 명령행 인자 받기

C언어에서 명령행 인자를 손쉽게 받는 함수로 getopt 함수가 있는데요
만약에 -test test -test2 test 와 같이 문자열을 인자로 받기 위해선 (t, e, s, t를 별도로 생각하지 않고 하나의 인자로 생각)
손수 처리해주는 것이 맞나요?

페이지

프로그래밍 QnA 구독하기