전체 글
-
C/C++ putc(3), fputc(3), putchar(3)C,C++ & Linux 2020. 5. 22. 02:05
함수 기능 파일에 한 글자를 출력하는 함수입니다. putc()는 매크로 함수, fputc() 는 함수로 구현되어있습니다. putchar()는 자동으로 표준 출력 파일에 출력합니다. 함수 원형 #include int putc(int c, FILE *fp); int fputc(int c, FILE *fp); int putchar(int c); 매개변수 c 출력할 문자 fp 출력 대상 파일 포인터 반환값 성공 시 c 리턴 에러 시 EOF 리턴 예제 #include #include #include int main(int argc, char *argv[]) { putc('a', stderr); fputc('b', stderr); putchar('c'); exit(0); } 결과 리눅스시스템프로그래밍 저자 : 홍지..
-
C/C++ ungetc(3)C,C++ & Linux 2020. 5. 22. 01:56
함수 기능 읽었던 문자를 다시 버퍼에 넣어주는 함수입니다. 버퍼에 다시 넣은 문자는 이후 getc, fgetc 등의 함수로 다시 읽어낼 수 있습니다. 함수 원형 #include int ungetc(int c, FILE *fp); 매개변수 c 다시 넣을 문자 fp 문자를 다시 넣을 파일 반환값 성공 시 c 리턴 에러 시 EOF 리턴 예제 #include #include #include void printOp(FILE *fp) { // 한 글자 읽어서 출력 char op = fgetc(fp); printf("Operator => %c\n", op); } int main(int argc, char *argv[]) { char op; FILE *fp; int character; int number = 0; if..
-
C/C++ ferror(3) feof(3) clearerr(3)C,C++ & Linux 2020. 5. 21. 21:36
함수 기능 ferror() : 파일 포인터의 에러 플래그가 1인지 확인해주는 함수 feof() : 파일 포인터의 EOF 플래그가 1인지 확인해주는 함수 clearerr() 파일 포인터의 플래그 변수를 초기화해주는 함수 fgetc(), getc(), gets() 이런 함수들을 쓰면 파일의 끝에 다다르거나 에러가 발생하게 되면 EOF를 리턴합니다. 이 때 개발자는 이것이 에러인지 아닌지 구분하기위해 feof(), ferror() 함수를 사용하고 이에 대한 적절한 조치가 이루어진 뒤 clearerr() 함수를 통해 에러 플래그와 EOF 플래그를 초기화시켜줍니다. 함수 원형 #include int ferror(FILE *fp); int feof(FILE *fp); void clearerr(FILE *fp); 매..
-
안드로이드 서비스 (3)안드로이드 2020. 5. 21. 21:09
2020/05/21 - [Android & Kotlin] - 안드로이드 서비스(2) 안드로이드 서비스(2) 2020/05/21 - [Android & Kotlin] - 안드로이드 서비스 안드로이드 서비스 오늘은 서비스에 대해서 알아볼게요. 서비스는 백그라운드 작업을 할 때 사용하는 컴포넌트에요. 지금까지는 우리가 알고 있는 bubble-dev.tistory.com 서비스 관련 마지막 글이 될 것 같네요 하하 이전까지는 스타티드 서비스와 서비스를 LMK로부터 최대한 오래 살아남는 법에 대해서 알아봤어요 이번 글에서는 바운드 서비스에 대해서 알아볼게요 바운드 서비스는 서버/클라이언트적인 성향이 강해요 그래서 사용하기 전에 연결을 맺고, 다 사용했으면 연결을 끊는 과정들이 필요합니다. 예제 < layout/a..
-
안드로이드 서비스(2)안드로이드 2020. 5. 21. 17:22
2020/05/21 - [Android & Kotlin] - 안드로이드 서비스 안드로이드 서비스 오늘은 서비스에 대해서 알아볼게요. 서비스는 백그라운드 작업을 할 때 사용하는 컴포넌트에요. 지금까지는 우리가 알고 있는 스레드로 백그라운드 작업을 했었죠? 액티비티에서 백그라운드 � bubble-dev.tistory.com 이전 글에 이어서 씁니다. 스타티드 서비스를 만들어서 작업스레드를 돌리는것까지 해보았는데요 안타깝게도 서비스도 stopService()가 아닌 시스템 메모리 부족으로 인해 강제 종료될 수 있습니다. 하지만 안드로이드도 마구잡이로 앱을 죽이는것은 아니니 안심하시길 바랍니다! 안드로이드에서 메모리가 부족할 때 다른 앱 프로세스를 죽이는 녀석을 LMK(Low Memory Killer)라고 합니..
-
C/C++ getc(3) fgetc(3) getchar(3)C,C++ & Linux 2020. 5. 21. 15:56
함수 기능 문자 한 개를 읽어주는 함수입니다. getc()와 fgetc() 는 기능은 같으나 getc() 는 매크로, fgetc()는 함수로 구현되어있습니다. getchar() 함수는 표준 입력 파일에서 한 글자를 읽어들입니다. 함수 원형 #include int getc(FILE *fp); int fgetc(FILE *fp); int getchar(); 매개변수 fp 읽고자하는 파일의 파일 포인터 반환값 성공 시 읽은 문자 리턴 파일의 끝에 다다르거나 에러 시 EOF 리턴 예제 #include #include #include int main(int argc, char *argv[]) { int character; // 표준 입력파일에서 계속 읽어들이면서 // Ctrl + D 을 누르면 표준 입력에 EOF..
-
안드로이드 서비스안드로이드 2020. 5. 21. 14:57
오늘은 서비스에 대해서 알아볼게요. 서비스는 백그라운드 작업을 할 때 사용하는 컴포넌트에요. 지금까지는 우리가 알고 있는 스레드로 백그라운드 작업을 했었죠? 액티비티에서 백그라운드 작업을 하는건 굉장히 위험해요 그 이유를 한 번 보고 서비스에 대해 알아볼게요 서비스 사용의 필요성 package kr.co.sample; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extend..
-
C/C++ fflush(3)C,C++ & Linux 2020. 5. 21. 10:32
함수 기능 아직 파일에 쓰이지 않은 버퍼의 내용을 커널에 전달하는 함수 fflush() 를 호출해도 버퍼의 내용을 커널에 전달할 뿐 파일을 닫는 것은 아닙니다. 함수 원형 #include int fflush(FILE *fp); 매개변수 fp 버퍼를 비울 파일 포인터 반환값 성공 시 0 리턴 에러 시 EOF 리턴하고 errno 설정 예제 #include #include #include int main(int argc, char *argv[]) { char buf[BUFSIZ]; // stdout 같은 터미널은 Line buffer 로 지정됨 setbuf(stdout, buf); // \n 을 만나지 않았지만 fflush 로 인해 바로 출력 printf("Hello, "); fflush(stdout); sl..