- 함수 인자값을 포인터로 넘기는것은 C 책을 보시면 알 수 있습니다.
- read 함수'라고 네이버와 구글 검색 해보면. 함수 설명을 볼 수 있습니다.
- read 함수에 첫번째 인자값은 파일 디스크립터로 검색하시면 알 수 있습니다.
- read 함수에 두번째 인자값은 데이터 버퍼 입니다.
- read 함수에 세번째 인자값은 데이터 크기 입니다.
- execve 함수에 첫번째 값은 경로이고. 두번째값은 포인터 배열입니다.
이것들을 확인해 보시면 될거 같습니다.
함수와 C. 배열에 대해 알고 싶으시다면.
C 관련 책을 보거나. 학원. 직업교육시설등을 참고해보시면 좋습니다.
리눅스 책을 봐야 알겠지만
- 함수 인자값을 포인터로 넘기는것은 C 책을 보시면 알 수 있습니다.
- read 함수'라고 네이버와 구글 검색 해보면. 함수 설명을 볼 수 있습니다.
- read 함수에 첫번째 인자값은 파일 디스크립터로 검색하시면 알 수 있습니다.
- read 함수에 두번째 인자값은 데이터 버퍼 입니다.
- read 함수에 세번째 인자값은 데이터 크기 입니다.
- execve 함수에 첫번째 값은 경로이고. 두번째값은 포인터 배열입니다.
이것들을 확인해 보시면 될거 같습니다.
함수와 C. 배열에 대해 알고 싶으시다면.
C 관련 책을 보거나. 학원. 직업교육시설등을 참고해보시면 좋습니다.
어설프게 설명해 드린다면. 이런 겁니다.
#include <stdio.h> void fn_execve(const char* path, char * const argv[]) { int i=0; printf("경로명 : %s\n", path); while(1) { if(argv[i] == NULL) break; printf("argv[] : %s\n", argv[i]); i++; } } void my_read(char *a, char *b) { // read(0,a,100); // read(0,b,100); printf("----------------------------------------------------\n"); printf("a에 값 : %s b에 값 : %s\n", a, b); printf("a에 주소 : %x b에 주소 : %x\n", &a, &b); } int main(int argc, char* argv[]) { char data1[10] = {"shint1"}; char data2[10] = {"shint2"}; //.c 파일에서는 데이터형 선언을 가장 위로 해야 한다. //error C2143: 구문 오류 : ';'이(가) '형식' 앞에 없습니다. char * argv_test[5] = { "test1", "test2", "test3" }; //- argv_test 0x0012fe9c char * [5] //+ [0x0] 0x0042602c "test1" char * //+ [0x1] 0x0042601c "test2" char * //+ [0x2] 0x00426024 "test3" char * //+ [0x3] 0x00000000 <Ptr>이 잘못되었습니다. char * //+ [0x4] 0x00000000 <Ptr>이 잘못되었습니다. char * printf("----------------------------------------------------\n"); printf("data1에 값 : %s data2에 값 : %s\n", data1, data2); printf("data1에 주소 : %x data2에 주소 : %x\n", &data1, &data2); my_read(data1, data2); printf("----------------------------------------------------\n"); printf("data1에 값 : %s data2에 값 : %s\n", data1, data2); printf("data1에 주소 : %x data2에 주소 : %x\n", &data1, &data2); // //fn_execve(const char* path, char * const argv[]) fn_execve("c:\\testpath", argv_test); system("pause"); return 0; } //출력 화면 ---------------------------------------------------- data1에 값 : shint1 data2에 값 : shint2 data1에 주소 : 12fecc data2에 주소 : 12feb8 ---------------------------------------------------- a에 값 : shint1 b에 값 : shint2 a에 주소 : 12fdc8 b에 주소 : 12fdcc ---------------------------------------------------- data1에 값 : shint1 data2에 값 : shint2 data1에 주소 : 12fecc data2에 주소 : 12feb8 경로명 : c:\testpath argv[] : test122 argv[] : test2 argv[] : test3----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기