오랜만에 올리는 글. 프로젝트 하나를 겨우 끝내고..ㅠㅠ 혼자 공부하면서 기록을 남겨둘 곳이 필요했는데 이왕 블로그를 시작하기로 한 곳이 스팀잇이니 이곳에 남기기로 함. ><주의> 정확하지 않은 정보가 있을수도 있습니다. 제가 공부한 것을 남겨놓기 위한 목적이 가장 큽니다. 수정이 필요하거나 틀린부분이 있다면 알려주세요~! 공부과정에서 설명이 부정확한 부분이 있다면 차후 수정 하겠습니다. 가장 기본적인 입력출력 함수들을 연습해봤는데 이게 자연스럽게 익혀지지 않으면 기초 공부과정에서 애로사항이 많다. 오래된 예제나 최근 예제들을 비교하면서테스트 해보는것을 추천한다. --- ``` #include <iostream> //전역 변수 int age; float height; void main() { //입력 함수(scanf) 활용 - 입력값을 하나씩 받기 printf_s("★입출력함수의 기본적인 형식에 대해 알아봅니다.\n\n"); printf_s("콘솔창에서의 입출력 함수는 기본적으로 printf_s (출력) scanf_s(입력)이 있습니다.\n"); printf_s("scanf, printf의 함수원형은 버퍼오버플로우의 위험이 있기때문에 사용하지 않는것이 좋다고합니다.\n"); printf_s ("\n>>변수를 하나씩 따로 입력해봅시다. \n당신의 나이는?\n"); scanf_s("%d", &age); printf("당신의 키는 몇 입니까?\n"); scanf_s("%f", &height); printf_s("반갑습니다 당신의 나이는 (%d) 이고 키는 (%.1f) 이군요.\n", age, height); //화면 지우는 함수 //system("cls"); age = 0; height = 0; //입력함수 활용 - 입력값을 동시에 여러개 받기 printf_s("\n\n>>변수를 동시에 2개 입력해봅시다. \n당신의 나이와 키를 동시에 입력해보세요.\n(입력은 공백(space),enter,개행코드로 구분될수있습니다)\n"); scanf_s("%d%f", &age, &height); printf_s("반갑습니다 당신의 나이는 (%d) 이고 키는 (%.1f) 이군요 \n", age, height); //화면 지우는 함수 //system("cls"); //기타 입출력 함수 puts("\n이번에는 printf() scanf() 이외에 다른 입출력함수를 알아봅시다."); puts("안녕하세요 먼저 출력함수입니다. 이문자는 puts함수를 통해 출력한 함수입니다."); //puts() 문자열만 출력할수있는 함수이다. 개행코드 \n을 포함한다. 자동개행이된다. puts("문자열만 출력할수 있는 함수입니다."); puts("이렇게 자동으로 개행(줄넘기)되는 함수입니다.개행코드가 포함되어 있다고 생각하면 됩니다."); puts("puts()함수는 문자열만 출력하고싶을때 사용하면 됩니다."); /* scanf는 공백 이후는 입력이 되지 않음. 이에 비해 gets_s() 입력을 받으면 Enter를 칠 때까지 입력된 모든 문자를 저장한다. */ char animal[256]; printf_s("\n\n또다른 입력함수를 알아봅니다. \nscanf함수는 공백이후는 입력되지 않습니다. \n토끼와거북이를 입력해보세요. \n"); scanf_s("%s", animal, sizeof(animal)); printf_s("scanf로 입력받은 값입니다. ->(%s) \n띄어쓰기된 문자열은 입력이 되지 않습니다.", animal); printf_s("\n\n하지만 gets 함수는 입력받은 모든 문자열을 저장하고자 하는 변수에 저장할수있습니다.\n"); printf_s("따라서 버퍼 오버플로우의 위험성이 높습니다. 현재는 표준라이브러리에서 삭제되었습니다. \ngets_s 함수를 사용합니다. \n"); puts("\n토끼와 거북이를 입력해보세요 토끼와 다음에 공백이있는부분을 기억하세요\n"); rewind(stdin); //rewind->표준입력장치(stdin)의 버퍼를 비워줘야 입력함수가 씹히지 않는다. char animal2[256]; gets_s(animal2, sizeof(animal2)); printf_s("\nfgets_s함수로 입력받은 결과값입니다. ->(%s) \n띄어쓰기까지 잘 입력이 되었네요.\n", animal2); system("pause"); } ``` --- 입출력 함수가 생각보다 종류가 많다. color scripter 같은걸로 소스코드를 올릴수가 없으니, 고민고민하다가 코드 시작과 끝을 \``` 로 감싸면 컬러박스가 생기게 하니 보기에 나쁘지 않은 것 같다. --- >테스트 해보고 싶으신분들께... visual stuio 2017 사용하고 있구요. 비쥬얼 스튜디오 -> ctrl + shift + n 누르시면 새 프로젝트 생성하는 창이 뜹니다. 그곳에서 프로젝트명 입력하신 후, 새 프로젝트를 생성 하시고, 위 코드를 붙여 넣으시면 테스트가 가능 하실겁니다. --- 저도 과정을 겪는 중입니다. 아직 경험도 많이 없고, 갓 시작한 코딩새싹이에요. 다들 화이팅팅팅. ^^ 관련정보 https://msdn.microsoft.com/ko-kr/library/239ffwa0.aspx
author | evvele |
---|---|
permlink | c |
category | kr-dev |
json_metadata | {"tags":["kr-dev","kr","kr-newbie","kr-game","daily"],"app":"steemit/0.1","format":"markdown","links":["https://msdn.microsoft.com/ko-kr/library/239ffwa0.aspx"]} |
created | 2018-03-01 15:18:09 |
last_update | 2018-03-01 15:28:48 |
depth | 0 |
children | 3 |
last_payout | 2018-03-08 15:18:09 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 1.933 HBD |
curator_payout_value | 0.595 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 2,609 |
author_reputation | 10,900,833,622 |
root_title | "C언어 기초부터..입력출력" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 41,405,897 |
net_rshares | 487,246,453,767 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
hr1 | 0 | 51,665,793,016 | 0.02% | ||
dakfn | 0 | 235,532,562,168 | 12% | ||
noctisk | 0 | 192,372,164,941 | 10% | ||
strelka | 0 | 2,696,160,392 | 100% | ||
hicryptocurrency | 0 | 0 | 100% | ||
topbit | 0 | 2,539,276,955 | 10% | ||
evvele | 0 | 614,473,814 | 100% | ||
rsa.pub | 0 | 614,472,379 | 100% | ||
reropi | 0 | 614,471,910 | 100% | ||
code999 | 0 | 495,750,957 | 100% | ||
twokk | 0 | 101,327,235 | 100% |
공부하는 내용을 이 곳에 정리해두는 것도 괜찮은 방법이네요. 많은 발전 있으시기 바랍니다.^^
author | code999 |
---|---|
permlink | re-evvele-c-20180301t174302054z |
category | kr-dev |
json_metadata | {"tags":["kr-dev"],"app":"steemit/0.1"} |
created | 2018-03-01 17:43:03 |
last_update | 2018-03-01 17:43:03 |
depth | 1 |
children | 1 |
last_payout | 2018-03-08 17:43:03 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 52 |
author_reputation | 1,479,269,516,287 |
root_title | "C언어 기초부터..입력출력" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 41,434,853 |
net_rshares | 0 |
앗 좋은 조언 감사합니다. 열심히 할께요..ㅎㅎ
author | evvele |
---|---|
permlink | re-code999-re-evvele-c-20180301t183715003z |
category | kr-dev |
json_metadata | {"tags":["kr-dev"],"app":"steemit/0.1"} |
created | 2018-03-01 18:37:15 |
last_update | 2018-03-01 18:37:15 |
depth | 2 |
children | 0 |
last_payout | 2018-03-08 18:37:15 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 26 |
author_reputation | 10,900,833,622 |
root_title | "C언어 기초부터..입력출력" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 41,445,250 |
net_rshares | 0 |
Tollll!
author | reropi |
---|---|
permlink | re-evvele-c-20180301t155853200z |
category | kr-dev |
json_metadata | {"tags":["kr-dev"],"app":"steemit/0.1"} |
created | 2018-03-01 15:58:54 |
last_update | 2018-03-01 15:58:54 |
depth | 1 |
children | 0 |
last_payout | 2018-03-08 15:58:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 7 |
author_reputation | 558,391,902 |
root_title | "C언어 기초부터..입력출력" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 41,413,989 |
net_rshares | 0 |