C
-
ftell 함수 ( 파일의 크기를 구하기 )C/FILE 입출력 2021. 3. 23. 19:55
fwrite 함수에서 저장한 파일의 크기를 구하는 프로그램을 작성하자. designatedroom87.tistory.com/383 fwrite 함수 작업 환경은 Visual Studio 2008 fwrite 함수를 이용해서 데이터를 파일에 저장해보자. 소스 파일 프로그램 실행결과 user.dat 파일은 프로젝트 폴더에 생성된다. 소스 내용 더보기 #include #include #include.. designatedroom87.tistory.com user.dat 파일은 프로젝트 폴더에 저장하도록 하자. 소스 파일 아래의 fseek 함수의 호출을 통해 커서는 맨 마지막의 위치에 놓이게 된다. 커서는 맨 마지막을 가리키고 있으므로, 만약 파일에 있는 내용을 처음부터 읽어올 때는 다시 맨 처음으로 커서를 옮..
-
fread 함수C/FILE 입출력 2021. 3. 23. 19:27
앞에서 작업한 fwrite 함수를 이용해서 저장한 파일인 user.dat 파일을 읽어오는 내용이다. designatedroom87.tistory.com/383 fwrite 함수 작업 환경은 Visual Studio 2008 fwrite 함수를 이용해서 데이터를 파일에 저장해보자. 소스 파일 프로그램 실행결과 user.dat 파일은 프로젝트 폴더에 생성된다. 소스 내용 더보기 #include #include #include.. designatedroom87.tistory.com user.dat 파일을 프로젝트 폴더 내로 가지고 오자. 아래의 경로에 두면 된다. user.dat 파일의 내용을 fread 함수를 이용해서 읽어보자. 소스 파일 프로그램 실행결과 소스 내용 #include #include #inc..
-
fwrite 함수C/FILE 입출력 2021. 3. 23. 19:22
작업 환경은 Visual Studio 2008 fwrite 함수를 이용해서 데이터를 파일에 저장해보자. 소스 파일 위의 내용에서 맨 마지막에 return 0; 문장을 넣어주도록 하자. 프로그램 실행결과 user.dat 파일은 프로젝트 폴더에 생성된다. 소스 내용 더보기 #include #include #include int main(void) { char a = 'A'; int b = 5000; double c = 12.345; char temp[20] = "Hi"; FILE *pFile = fopen("user.dat", "wb"); if( pFile != NULL ) { fwrite( &a, sizeof(char), 1, pFile ); fwrite( &b, sizeof(int), 1, pFile )..
-
fgets 함수C/FILE 입출력 2021. 3. 23. 11:32
파일에 있는 내용을 읽어와서 데이터를 출력하는 프로그램인데, 파일의 내용과 파일의 위치는 아래의 fscanf함수와 같다. designatedroom87.tistory.com/381?category=935151 fscanf 함수 개발 환경은 Visual Studio 2008 텍스트 파일에 있는 내용을 fscanf함수를 이용해서 읽어와서 출력하는 프로그램을 만드는 것이 이 포스트의 내용이다. 아래의 파일의 내용이 우리가 불러올 내용이다. designatedroom87.tistory.com fscanf 함수에서는 파일의 줄 단위를 미리 알고 있는 상태에서 프로그래밍을 하였는데, 이번에는 파일에 몇 줄인지 모른다는 상태에서 진행할 것이다. 파일에 내용이 몇 줄인지 아는 것은 중요하다 그 이유는 줄의 수가 데이터..
-
fscanf 함수C/FILE 입출력 2021. 3. 23. 11:24
개발 환경은 Visual Studio 2008 텍스트 파일에 있는 내용을 fscanf함수를 이용해서 읽어와서 출력하는 프로그램을 만드는 것이 이 포스트의 내용이다. 아래의 파일의 내용이 우리가 불러올 내용이다. 파일에 존재하는 데이터는 4개라고 볼 수 있다. 그 이유는 각 줄의 내용이 하나의 데이터이기 때문이다. 각 줄은 학생의 이름과 이 학생의 세 과목에 대한 점수이므로 이는 하나의 학생에 대한 정보라고 볼 수 있다. 이에 따라 우리는 구조체가 필요함을 알 수 있다. 파일은 프로젝트 폴더 내에 존재해야 한다. 아래의 위치가 파일을 둬야할 위치이다. 소스 파일 실행결과 소스 파일 및 텍스트 파일
-
3차원 배열의 활용 - 테트리스 블록C/다차원 배열 2020. 10. 25. 21:48
참고 문헌 윤성우의 파워C 프로그래밍 커서의 위치를 원하는 위치로 이동시켜 테트리스 블록 몇 개를 그려보는 것이 이 에제의 주제이다. 이 예제에서 API함수를 이용하는데, 이는 그냥 넘어가도록 하자. 3차원 배열이 그냥 이렇게도 쓸 수 있다는 사실을 보여주고 싶었다. 우선 테트리스 블록은 2개로 가정하자. 테트리스 하나의 블록 정보를 표현은 2차원 배열로 표현한다. 크기는 4X4로 표현했다. 아래에서 전역변수로 쓰인 blockModel 변수를 보자. blockModel 배열은 총 2개의 블록정보를 담고 있다. 그리고, 총 3개의 별도의 함수를 정의하는데, 이는 다음과 같다. 아래에서 COORD는 처음보는 데이터 타입인데 이는 구조체로 단순히 커서의 x좌표와 y좌표를 가지고 있는 데이터라고 보자. GetC..
-
3차원 배열의 활용 - 영한사전 만들기C/다차원 배열 2020. 10. 25. 20:58
아래와 같이 입력에 대한 출력이 되도록 프로그램을 만들어보자. 위의 입력과 출력결과를 먼저 분석해보면, 각 영어 단어에 대한 한글 단어가 매치가 되고 있다. ( 단어는 문자열이다. ) 그리고 입력에서 공백문자를 포함해서 읽어들어야 하므로 scanf() 함수를 사용할 수 없다는 것을 알 수 있다. 그리고 입력받은 데이터의 공백에 널문자 추가해야 한다. 그 이유는 단어로 쪼개기 위해서. ( 널 문자 단위로 읽어 들인다. ) 즉, 영어 단어를 하나 찾고 그 영어 단어에 대응하는 한글 단어를 출력배열에 저장을 하면 될 것이다. 먼저 필요한 자료구조에 대해서 이야기 해보자. 한글과 영어라는 언어의 수는 2종류이다. 그리고 한글과 영어단어는 모두 문자열이다. 그리고 매치가 되는 한글 단어와 영어 단어의 묶음이 여러..