2023/12 38

[리눅스] C프로그래밍 23.12.06

리눅스로 C프로그래밍을 하면서 궁금점이 생겼다. 윈도우에서 Visual Studio로 C언어를 작성했을때 출력문은 printf로 자주 사용했는데 리눅스에서는 puts로 사용하길래 어떤 차이가 있는지 찾아보았다. printf와 puts 모두 stdio.h로 사용하는 출력문이지만 puts는 오로지 문자열 출력을 위한 함수이고 printf는 정수, 실수, 문자열 모두 출력이 가능한 함수이다. 또한 printf는 \n을 입력하여 줄 바꿈을 해야하지만 puts는 \n을 입력하지 않아도 줄바꿈이 자동으로 된다. printf에서 \n 입력하지 않았을 때 모습이다. 줄바꿈이 되지 않아 문자열이 이어져 있는 모습을 볼 수 있다. 하지만 puts는 다르다. 줄바꿈인 \n을 입력하지 않아도 자동으로 줄바꿈이 된 모습을 볼 ..

C 프로그래밍 2023.12.06

23.12.05 리눅스 공부하기

리눅스 공부 순서 1. 일반 사용자로써 공부: 파일, vi, 기초문법, 쉘 //text기반(키보드로만 사용) 2. 관리자(root)로써 공부: 리눅스 설치, 프로세스, 패키지, 일반 사용자 관리 3. 서비스 공부: 웹 서비스, 메일 서비스, DNS 서비스, FTP 서비스, ... 4. 보안 공부: 로그, 서비스 열고 닫기, ... 5. 프로그래밍 공부: gcc, make, shell, ... 커널 : 운영체제의 핵심부분 리눅스 종류: CentOS(기업), ubuntu를 많이 사용 cp(copy 약자) 무엇을 어디로 man(메뉴얼 약자) ls 파일 생성: mkdir != rmdir (rm -r), vi로 생성, cat로 생성, touch로 생성 ex) vi 파일이름 복사: cp 삭제: rm 이동: mv 이..

C 프로그래밍 2023.12.05

C프로그래밍 23.12.04 리눅스 연습

리눅스의 C언어는 Visual Studio C언어와 다른 느낌이다. Visual Studio에서는 실행 잘 되던 부분인데 리눅스에서는 오류가 뜨는 것 보니 리눅스의 C언어에 대해 다시 배워야 할 것 같다. 그래도 리눅스의 명령어에 대해 하나하나 알아가는 재미는 있다. 윈도우와 다른 매력이 리눅스의 매력인 것 같다. 리눅스 명령어 간단 정리: su: root 계정으로 변경. cd /: 상위 폴더로 이동. (윈도우의 더블클릭 개념) cd~: home폴더 이동 ls: 하위폴더 확인 pwd: 현재 폴더 확인 rm: 파일 삭제 / rm -rf 폴더이름: 폴더 제거 mkdir: 폴더 생성 apt-get: 프로그램 다운받는 명령어 ex) apt-get install gcc: gcc다운로드. vi 파일명: 파일 생성 ..

C 프로그래밍 2023.12.04

C 프로그래밍 우분투 시작

C 프로그래밍을 하며 진로를 IoT 개발자로 생각하게 되었다. C언어 독학을 시작한지 별로 되지 않았기에 처음 프로젝트를 간단한 회원가입 프로그램을 생각하게 되었고, 프로그래밍을 연습하며 코드에 익숙해지게 하기위해서 블로그를 시작하게 되었다. 혼자 생각한 부분에 대해 언제까지 프로그램을 완성해보겠다는 목표와 그 목표를 이루기 위해 스스로 공부하고 배우는 것이 빠르게 기술력을 습득하는 방법이라고 생각을 했다. 그러다가 빠르게 취업을 하기 위해서 리눅스를 시작하게 되었고, 대부분 C언어는 리눅스가 기본인 것 같아 배워놓는 것이 좋을 것 같았다. 그래서 리눅스를 설치하였고, 인터넷으로 강의를 들으며 리눅스도 익히고 회원가입 프로그램에 대해 이어서 진행 하려고 한다. 태어나서 스스로 공부를 이렇게 열심히 한 적..

C 프로그래밍 2023.12.03

C언어 프로젝트 23.12.03

#include #include // getch() 함수를 사용하기 위한 헤더 파일 #include //문자열 비교함수인 "strcmp"를 사용하기 위해 string.h 라이브러리를 사용. //#include // 무한 루프 종료 조건을 위한 상수 #define LOGOUT_OPTION -1 enum loginProgram { userCreate = 1, // 회원가입 userLogin = 2, // 로그인 }; struct userInfo { // struct를 이용하여 로그인 정보 저장 char userId[100]; char userPassword[100]; char userCheckPassword[100]; }; struct userInfoCompare { // struct를 이용하여 로그인 시 ..

C 프로그래밍 2023.12.03

C언어 프로젝트 23.12.02

#include #include // getch() 함수를 사용하기 위한 헤더 파일 #include //문자열 비교함수인 "strcmp"를 사용하기 위해 string.h 라이브러리를 사용. enum loginProgram { userCreate = 1, // 회원가입 userLogin = 2, // 로그인 }; struct userInfo { // struct를 이용하여 로그인 정보 저장 char userId[100]; char userPassword[100]; char userCheckPassword[100]; }; struct userInfoCompare { // struct를 이용하여 로그인 시 아이디, 비밀번호 비교 char userId[100]; char userPassword[100]; }; ..

C 프로그래밍 2023.12.02

C언어 프로젝트 23.12.01 (1)

(혹시라도 제 글을 보실 분이 계실까봐 남겨드립니다. 이 블로그는 저의 프로그래밍 기술 습득을 위해 일기장 형식으로 저에게 남기는 글입니다. 그래서 딱딱한 느낌이 들 수 있습니다. 읽어주셔서 고맙습니다.) #include #include // getch() 함수를 사용하기 위한 헤더 파일 #include //문자열 비교함수인 "strcmp"를 사용하기 위해 string.h 라이브러리를 사용. enum loginProgram { userCreate = 1, // 회원가입 userLogin = 2 // 로그인 }; struct userInfo { // struct를 이용하여 로그인 정보 저장 char userId[100]; char userPassword[100]; char userCheckPassword[..

C 프로그래밍 2023.12.01

C언어 프로젝트 23.12.01

C언어로 회원가입, 로그인 프로그램을 만들어보던 중 회원가입에서 1차와 2차 비밀번호를 맞는지 확인하는 과정에서 비밀번호를 맞게 입력했을 때 실패가 출력되었고, 다르게 입력했을 때 성공으로 출력되었다. 이 부분에서 이상함을 느꼈고 정보를 찾아보니 #include 의 strcmp 함수를 이용하여야 문자열을 비교할 수 있다는 점을 알게되었고 비밀번호 비교하여 성공, 실패를 작성할 수 있게 되었다. #include #include //문자열 비교함수인 "strcmp"를 사용하기 위해 string.h 라이브러리를 사용. enum loginProgram { userCreate = 1, //회원가입 userLogin = 2 //로그인 }; struct userInfo { //struct를 이용하여 로그인 정보 저장..

C 프로그래밍 2023.12.01