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

skylandi의 이미지

[C언어] strlen() 함수 보다 나은것이 없나요

strlen() 함수를 사용 하다 보면
중간에 NULL 값이 들어가면 NULL 전에 잇는 문자수을 아는데..

중간에 NULL 포함 마지막에 NULL전 까지 문자수 아는 방법이 없나요

중간에 NULL이 많이 들어 갈수도 있습니다.

즐거운 하루 되시길.

gyxor의 이미지

[C++] char data[20] = "\t\01"; 의 앞2바이트를 (sho

#include<iostream>
using namespace std;

int main(){
    
    char data[20] = "\t\01";
	char temp1[20] ={ 0};
	char temp2[20] ={ 0};
    short len=0;
	
	memcpy(&len ,&data[0] , sizeof(len) ) ;
		
	cout << len;

	return 0;
}

위 내용에서 결과는 tab의 아스키 코드값에 해당하는 9가 출력이 되어야 할거 같은데요.. 256이 출력됩니다.
대신 아래처럼
char data[20] = "\t\0a";
데이터에서 텝과 널 다음에 숫자가 아닌 문자가 올때만 정상적으로 읽히게 됩니다. 이때에는 의도대로 9가 찍힙니다.
yhjj777의 이미지

서버를 백그라운드로 cpu 사용률이 높아집니다.

직접 실행을 시키면 cpu 사용률이 평상시에 거의 0퍼센트를 유지하던 서버가
백그라운드 또는 데몬으로 실행시키면 cpu 사용률이 99퍼센트로 나옵니다.
싱글 쓰레드로 돌아가는 서버이기때문에 이와 같이 cpu 사용률이 비정상적으로
나오면 서버가 제대로 동작하지않아야 된다고 생각하는데,, 서버는 정상적으로
작동하니 어디서 문제가 있는건지 도무지 찾을 길이 없습니다.

서버는 select와 논블락킹 소켓을 사용하고 있고, os는 레드햇 7.3, 커널은
2.4.18-3smp 입니다.. 이런 비슷한 문제를 경험하신분이 있다면 해결책 좀

nohmad의 이미지

g++ 링커 에러

bubblesort.cpp 함수를 구현해서 이상없이 컴파일했습니다. bubblesort.o를 얻었습니다.

template <class T>
void bubblesort(T a[], int size)
{
    int i, j;
    T t;
    for (i=0; i < size-1; i++)
        for (j=1; j < size-i; j++)
            if (a[j-1] > a[j]) {
                t = a[j-1];
                a[j-1] = a[j];
                a[j] = t;
            }
}

bubblesort.h로 헤더를 작성했습니다.
[code:1]template <class T>

monac의 이미지

gentoo linux

안녕하세요.
한동안 업무에 바빠 리눅스 새소식을 전혀 못듣고 있다가 요즘 한가해서 여러가지 공부중인데요,
요즘 게시판을 보면 겐투 (젠투?) 리눅스가 엄청나게 인기더라구요. 전 데비안을 아주 좋아했는데, 겐투가 어떤점이 좋은지 잘 모르겠습니다.

말을 들어보면 설치시 모든것을 옵티마이징해서 컴파일 한다고 하는데, 설치 시간도 오래걸리고, 굳이 그럴필요 있나 생각도 들고요. 리눅스 cpu에 최적화 한다고 해서 지금도 충분히 빠른데 10~20% 속도향상이 일반 사용자들에게 무슨 의미가 있는가 생각듭니다.

uchi의 이미지

파일인코딩에 관한 질문입니다.

ascii로 저장된 텍스트파일을 이진수로 변환해서 보고 싶습니다. 기계어라고 하죠.

만약 텍스트파일에 'a'를 넣어놓고 단순 계산해보면 a는 아스키 코드로 97번, 이진수로 표현하면 01100001 이렇게 되는데요. 이걸 자동으로 해주는 프로그램이 있는지 궁금합니다. iconv라는게 있던데 이건 인코디드에서 인코디드로 바꿀수는 있는데 디코딩은 못하더라구요.

제가 잘못알고 있는건지 아니면 어떤방법이 있는지 궁금합니다.

ps. 저걸 하려는 이유는 파일 전체를 한꺼번에 디코딩을 해보고 싶어서 입니다.

neu의 이미지

인터럽트 금지중에 인터럽트가 걸리면...

2.4커널까지는 비선점형 커널이잖아요. 그런데 인터럽트 금지중에 인터럽트가 걸리면 그 인터럽트는 유실되는건가요? 그러면 키보드를 눌렀는데 그게 무시되는건가요?

gyxor의 이미지

[C++] istringstream is() 에서 is &gt;&gt; i 로 ascii 숫자를

#include<iostream>
#include<sstream>
using namespace std;

int main(){
    
    char data[20] = "12eee55";
	char temp1[20] ={ 0};
	char temp2[20] ={ 0};
    short i=0;
	
	istringstream is(data);
	
	is >> i;
	is.getline(temp2,4);
	
	cout << i << endl;
	cout << temp2 << endl; 
	is >> i;
	cout << i;
	return 0;
}

is >> i 를 이용하면 ascii형태로 저장된 문자열에서 이진수를 뽑아낼 수 있습니다.
gyxor의 이미지

[C++] stream.getline()함수에서 stream의 중간에 \0(null)이 있

#include<iostream>
#include<fstream>
#include<istream>
#include<sstream>
using namespace std;

int main(){
    
    char data[20] = "abc\0eee";
	char temp1[20] ={0};
	char temp2[20] ={0};
	istringstream is(data);

	is.getline(temp1,4);
	is.getline(temp2,4);
	cout << temp1 << endl << temp2; 
	
	return 0;
}

결과 
abc

위 소스처럼 스트림의 중간에 abc\0eee
null문자가 있는경우에 뒤에 있는 스트림은 못읽었습니다.

emptysky의 이미지

특정 포트를 막을때...

tcpwrapper 나 iptables 말고
/etc/service 에서 포트별 서비스를 주석 처리해서 포트를 막을수 있나요?

페이지

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