초보 리눅스 C 프로그래밍 질문입니다.
글쓴이: ShaYEL / 작성시간: 금, 2014/01/03 - 8:31오후
OS는 리눅스 민트 마야 사용하고 있습니다. 리눅스 환경이 어떤지 처음 공부중인데요
vim으로 간단한 프로그램을 짜서 실행해봤는데 도저히 실행이 안되네요..
터미널을 열고
$ vim sys_ex1.c
를 입력해서, vim으로 아래 프로그램을 짰습니다. 간단한 입/출력 프로그램인데요.
#include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #define MAXLEN 80 int main() { int fd; int readn = 0; char buf[MAXLEN]; fd = open("abc.txt",O_RDONLY); if (fd < 0) { perror("file open error : "); return 1; } memset(buf,'\0',MAXLEN); while ( (readn = read(fd,buf,MAXLEN-1)) > 0) printf("%s",buf); return 0; }
위 코드를 저장한 다음 터미널로 빠져나와서,
$ gcc -o ex1 sys_ex1.c
를 실행했고 컴파일 성공했습니다.
그런데 그 다음에
$ ./ex1
를 입력해서 실행시키려 했더니
file open error : : No such file or directory
라네요...
파일을 저장한 위치에 직접 들어가서 확인해보면 분명 ex1 파일이 만들어졌고.. ls -al 명령으로 확인해봐도 분명 파일이 있는데요;; 왜 이럴까요? 물론 abc.txt 파일도 잘 있습니다.
컴파일 환경에 문제가 있나 싶어서 전형적인 "hello world.c"를 만들어서 위 방법 그대로 컴파일/실행시켰더니 이건 되네요.. 무슨 차이일까요 ;;
Forums:
No such file or directory라니까
No such file or directory라니까 분명 어떤 파일이 없는건 맞을텐데 어느 부분이 문제인지 모르겠네요
아주 정상적으로 실행된 겁니다. abc.txt 파일을
아주 정상적으로 실행된 겁니다.
abc.txt 파일을 열도록 프로그래밍 했는데 없으니 에러 메시지를 보여준 겁니다.
ㅎㅎ
추가적으로 man setvbuf 해보세요
추가적으로 man setvbuf 해보세요
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
댓글 달기