반응형

전체 글 40

38. fprintf

#include // C++ 에서는 int fprintf(FILE* stream, const char* format, ...); stream 작업을 수행할 스트림의 FILE 객체 format 스트림에 쓰여질 텍스트 서식문자가 있으면 치환된 데이타가 들어간다. 서식문자 %c 문자(아스키코드값) ex) a %d or %i 부호 있는 십진수의 정수 ex) 392 %e 지수표기법으로 출력(e사용) ex) 3.9296e+2 %E 지수표기법으로 출력(E사용) ex) 3.9396E+2 %f 십진법의 부동소수점의 수 ex) 392.65 %g %e 나 %f 보다 간략하게 출력 ex) 392.65 %G %E 난 %f 보다 간략하게 출력 ex) 392.65 %o 부호 있는 팔진수 ex) 610 %s 문자열 ex) sampl..

카테고리 없음 2020.11.10

37. 파일 쓰기(fputs)

#include int fputs(const char* str, FILE* stream); 첫 번째 인자로 파일에 저장할 문자열 두 번째 인자 스트림 파일 포인터 리턴 값 : 쓰기를 성공했다면 음이 아닌 수가 리턴된다. 오류가 발생한다면 EOF 를 리턴한다. #include int main() { FILE* pFile = NULL; // w(쓰기모드) t(텍스트모드) fopen_s(&pFile, "sample.txt", "wt"); if (pFile) { const char* str1 = "0123456789\n"; const char* str2 = "abcdefghijklmnopqrstuvwxyz\n"; fputs(str1, pFile); fputs(str2, pFile); fclose(pFile); ..

카테고리 없음 2020.11.08

36. 파일 읽기(fgets)

fgets 함수는 FILE 구조체를 사용하여 파일 입출력 스트림에서 문자열을 가져오는 함수이다. char* fgets(char* str, int numChars, FILE* stream); 첫 번째 매개변수(str)에는 파일에서 읽은 문자열을 저장할 메모리의 주소를 넘겨주면 된다. 두 번째 매개변수(numChars)에는 저장할 문자의 최대 개수를 지정한다. fgets 는 '\n' 문자를 만날 때 까지 문자열을 읽는 것이 보통이지만, 이 두 번째 매개변수를 넘어서면 읽기작업을 그만둔다. 세 번째 매개변수(stream)은 파일포인터를 넣어준다. 만약 fgets 함수가 파일에서 문자열을 읽기를 시도했는데, 파일을 끝(EOF)를 만나게 된다면, fgets 는 NULL 을 반환할 것이다. 먼저 sample.txt..

카테고리 없음 2020.11.08

34. break, continue, return

break for문 while문 switch case 문을 빠져 나올 때 사용한다. continue for문 while문 등 반복문에서 나머지는 생략하고 다시 반복조건으로 돌아가게 된다. return 현재 수행중인 함수를 종료하고, 해당함수를 호출했던 곳으로 돌아가게 된다. // 5일때 for문을 벗어남 #include int main() { for (int i = 0; i < 10; i++) { if (i == 5) { break; } printf("%d\n", i); } return 0; } // 결과 // 0 // 1 // 2 // 3 // 4 // 5일때 continue 를 함으로써 5를 스킵함 #include int main() { for (int i = 0; i < 10; i++) { if (..

카테고리 없음 2020.11.08

33. 형변환

#include int main() { int a1 = 10.1; printf("%d\n", a1); double a2 = 7; printf("%lf\n", a2); int b1 = 10; short b2 = 20; int b3 = b1 + b2; printf("%d\n", b3); return 0; } 10.1 은 double 인데, int a1 에 할당될 때, int 로 형변환 된다. 이것을 암묵적 형변환이라고 한다. 7 (int) 가 a2 로 들어갈때 double 로 형변환 되어지고(암묵적으로) b1(int) 과 b2(short) 가 더해질때 b2 가 int 로 형변환이 이루어진다.(역시 암묵적으로) #include int main() { float a = 10.0f; double b = 20.0;..

C언어(2020년) 2020.11.04

32. 함수 포인터

포인터가 데이터(변수)의 주소만 사용할 수 있는 것은 아니다. C언어에서 함수도 결국 컴파일되면 기계어로 변경되어지고, 실행되면 코드는 메모리영역에 위치하게 된다. 함수역시 메모리 주소를 가지게 된다는 뜻이다. void TestFunction(int a) { printf("%d\n", a); } 이와 같은 함수가 있다고 치자. 이 함수의 원형은 void (int) 이기 때문에 void (*) (int) 형태로 함수 포인터 자료형을 만들어야 한다. void (*pFunc)(int); // 포인터 pFunc 의 자료형은 void (*)(int) 이다. 이렇게 함수포인터 pFunc 를 선언하였으면, 이제 TestFunction 의 주소를 대입하여야 한다. pFunc = &TestFunction; 이렇게 하면 ..

C언어(2020년) 2020.11.04
반응형