함수5 C언어 시리얼 통신 브레이크(break) 신호 전송 방법 C tcsendbreak() 시리얼 통신 break 신호 전송 함수시리얼 통신에서 브레이크(break) 신호를 보내려면 tcsendbreak() 함수를 사용하면 됩니다. 상대 쪽에서 break 신호를 주었을 때 수신 버퍼에 0x00이 있어서 0x00을 보내면 break 신호가 전송되는 줄 아는 분이 계시더군요. 이미지나 동영상처럼 바이너리 파일을 전송할 경우 0x00이 있을 수 있는데, 그때마다 break 신호가 발생해서는 안 되겠지요.헤더 : termios.h형태: int tcsendbreak(int fd, int duration)인수: int fd 시리얼 포트와 연결된 파일 디스크립트int duration 전송 시간반환: 0 == 성공, -1 == 실패 및 errno에 에러코드 대입int durat.. 2022. 6. 25. C언어 printf() 숫자가 inf로 나오는 이유는 printf() 숫자 대신에 inf 문자열이 출력?C언어에서 숫자 계산하고 화면에서 확인하려고 printf()를 실행했는데 숫자는 나오지 않고 엉뚱하게 문자로 "inf"라고 나왔다면 계산 결과가 무한대로(infinite) 숫자가 너무 크다는 뜻입니다. 한마디로 계산 중에 숫자가 너무 커져서 제대로 계산할 수 없었다는 것입니다.#include #include int main( void){ double result = pow( 1500.0, 300.0); printf( "x ^ y = %f\n", result); return 0;}위 프로그램을 컴파일하고 실행해 보겠습니다.inf 값으로 오류 계산을 막는 방법숫자가 너무 커서 계산을 못 했다는 것은 알겠습니다. 그렇다면 더 이상 이 결과로 .. 2022. 6. 11. C언어 제곱 연산자, 기호는? C언어 제곱 연산자는 없다?C언어가 다른 언어에 비해 이상한 것이 한둘이 아닙니다만, 그중에 하나가 제곱 구하는 연산자입니다. 결론부터 말씀드리면 C언어에서는 제곱 구하는 연산자나 기호는 없습니다. 당연히 기호 ^ 이거 아냐 생각할 수 있지만, C언어에서 연산자 ^는 제곱을 구하는 것이 아니라 XOR 비트 연산자입니다. 그렇다면? pow() 계열의 함수를 사용해야 합니다.다른 언어에서는 기호 한 번으로 쉽게 구할 수 있는 제곱을 왜 C언어에서는 함수를 사용해야 하나 의아하지만, 실제 코딩을 하다 보면 제곱을 구하는 것보다 XOR 연산을 더 자주 사용합니다. 혹시 이런 이유로 C언어는 제곱을 구하는 연산자를 포기(?)하고 함수를 사용하게 했는지 모르겠습니다.C언어 제곱 함수 pow() 사용 주의사항#inc.. 2022. 6. 3. C언어 파일 복사 함수 filecopy() C언어 파일 복사 함수 filecopy()C언어에서 사용할 수 있는 파일 복사 함수 filecopy()입니다. 원본 파일 이름과 사본 파일 이름을 인수로 넘겨주면 되며, 실행 결과를 아래의 상수 값으로 반환합니다.0 : 파일 복사 완료-1 : 사본 파일 이름이 원본과 같습니다.-2 : 원본 파일 읽기 에러-3 : 사본 파일 생성 에러-4 : 사본 파일 쓰기 에러함수 호출 후에 반환 값이 0이면 정상적으로 파일이 복사된 것입니다. -1인 경우 생성하려는 파일 이름이 원본과 같을 때입니다. -2는 원 파일 읽기를 못할 때, -3과 -4는 대상 파일 처리 중 에러가 발생한 것입니다.filecopy() 함수 사용 예제#include <stdio.h>#include <unistd.h>#inc.. 2022. 5. 1. C언어 파일 크기 구하기 함수 filesize() C언어에서 파일 크기를 구하는 함수 filesize()입니다. 만일 체크할 대상 파일이 닫기 전에 계속 쓰기를 하여 저장 중이라면 sync() 함수를 사용하여 버퍼에 있는 내용이 물리 장치에 실제로 저장하게 한 후에 filesize()를 호출하세요.C언어 파일 크기 구하기 함수 filesize()#include <stdio.h>#include <sys/stat.h>int filesize( const char *filename){ struct stat file_info; int sz_file; if ( 0 > stat( filename, &file_info)){ return -1; // file이 없거나 에러 .. 2022. 4. 30. 이전 1 다음