반응형

read 5

화일처리 - MovieLensData 통계 소스

/* * http://sosal.tistory.com/ * made by so_Sal */ - Input data. 인풋파일에 담겨져있는 데이터를 읽어와 통계를 내려고 합니다. 다음은 각 데이터 파일에 해당하는 레코드 구성 정보입니다. ==================================== 예제 1 ==================================== /* * Users.dat 로 부터 '총인원' '남성' '여성' 의 수와 * '남성평균나이' '여성평균나이' 전체평균나이' 를 구한다. */ #include #include #include #include #include #include using namespace std; double N=0,F=0,M=0,Fage=0,Mage=0;..

제한시간 1초, 수학문제 프로그램 해킹?!

/* * http://sosal.tistory.com/ * made by so_Sal */ /* * 이 포스팅을 이해하기 위해선 * c언어 srand(), time(), rand() 함수들 * 리눅스 read write 파일 시스템콜 뿐만 아니라 * fork(), execl(), pipe(), dup2() 프로세스 시스템콜을 * 미리 아셔야 이해할 수 있습니다./ */ 예전에 숫자 맞추는 게임(?)이 널루트 가입문제로 나왔었던 기억이..있습니다 ㅎㅎ 아마 억대자리수 덧셈이었나?? 그럴텐데.. 기억이 잘 안나네요. (동아리 선배분께서 열심히 풀고계신걸 잠깐 본적이 ㅎㅎㅎ) 여튼, 번뜩 생각나서 고걸 부셔버리는걸로.. 한번 포스팅 해보려고 합니다. 목적은 1초안에 1만자리수 덧셈문제를 풀기! 입니다. sra..

Linux/Linux_technic 2010.11.06

Linux : dup과 dup2

/* * http://sosal.tistory.com/ * made by so_Sal */ 이 포스팅은 open, read, write 등의 시스템콜을 기본적으로 안다는 가정 하에 작성된 글입니다. 위 시스템콜에 대해서 모르신다면 :: LINK_ 1. dup 2. dup2 1.dup - 파일 식별자를 복제한다. #include // man page 참조 int dup( int fd ); (dup은 duplication의 약자겠죠?.. 아마.. ㅋㅋ) 새로운 파일 서술자를 반환하지만, 숫자만 다를 뿐 원래의 서술자, 복제된 서술자 모두 완벽히 같은 파일을 가리킨다. 실패 : -1 반환 (파라미터로 전달된 값이 fd가 아닐경우, 더이상 fd를 할당하지 못할경우) /* * fd1 파일 디스크립터에 open을 ..

IPC - 03. pipe() 를 통한 프로세스 통신

/* * http://sosal.tistory.com/ * made by so_Sal */ 각각의 프로세스는 독립적인 메모리 영역을 가지고 있다. fork() 함수를 쓰더라도, 그 이전의 변수들이 복사되는 것일 뿐, 부모 프로세스와 자식 프로세스가 그 변수를 공유한다던가, 정보를 주고받는 행동은 방법이 없었다. 동시에 2개의 프로그램을 실행시키는데, 변수를 공유하려면 어떻게 해야할까? 공유메모리 기법을 쓰는 방법이 있고, pipe를 통해 변수를 공유한다기 보다 정보를 주고 받는 방법이 있다. 여기 포스팅되는 글은 단순히 buffer를 주고받을 수 있는 pipe에 대해서 설명하려 합니다. 부모프로세스에서 buffer 문자열을 자식프로세스에게 줄 수 있고, 자식 프로세스 역시 답장 가능입니다. ㅋ (아참, ..

리눅스 FILE - read() 시스템콜

/* * made by so_sal * http://sosal.tistory.com/ */ 정수값 이름 0 표준 입력( stdin ) /dev/stdin 1 표준 출력( stdout ) /dev/stdout 2 표준 오류( stderr ) #include size_t read( int fildes, void *buf, size_t nbytes ); 첫번째 인자 :: fildes :: 파일 서술자 두번째 인자 :: *buf :: 읽어와서 저장할 버퍼. 새번째 인자 :: nbytes :: 읽을 수 있는 최대 byte의 수 read는 총 읽어와서 buf에 저장한 byte의 수를 리턴합니다. #include #include int main(){ char buffer[128]; int nread; nread = ..

반응형