본문 바로가기

컴퓨터/C

itoa, ftoa.. 안되는 이유가 뭐야? atoi : Alphabet TO Integeritoa : Integer TO Alphabet 두 함수의 사용에 대해 포스팅을 하고자 한다.나 또한 C가 익숙하게 사용할 수준이 아니기 때문에 사소하거나 쉬운 것조차 자주 헷갈리거나 까먹어 구글링을 하고는 한다.그런데 정말 정말 정말.. itoa 부분에 대해 사람들이 잘 모르거나 심지어 욕설까지 하는 경우까지 있다.이유는 C를 가르칠 때, 이것이 표준인지 아닌지를 가르쳐주지 않기 때문에 발생한다.적어도 국내에서 많은 학교나 학원, 코딩과외 등에서 Visual Studio로 교육을 하는데 강의를 들을 때도, 보조강사로 일해볼 때도 한번도 표준과 비표준을 가르쳐주는 강좌가 없었다. "숫자에서 문자열로 바꾸려면 itoa를 쓰시면 되어요." 이게 끝이라는 것이다... 더보기
c에서 명령줄로 여러 옵션 받기 요즘 심심해서 관리를 대신 해주는 지인 서버에 반 자동화 프로그램을 만들고 있다.이 서버는 여러 하드디스크가 있는데 용도에 맞게 각 하드에 디렉토리를 생성 -> 새 사용자를 추가하고 권한 위임와 공유, 마운트 지점까지 모든 작업을 수작업으로 하려면 조금 귀찮은데-특히 한명이 아니라면-이를 프로그램으로 짜 넣어 아이디와 비밀번호만 입력하면 미리 지정된 옵션대로 자동으로 되도록 하려고 한다. 파일질라의 암호화 방식이 md5여서 파일질라의 반자동화 프로그램을 만들기 위해선 md5의 알고리즘 프로그램이 필요한데 유명한 알고리즘인 만큼 인터넷에 이미 공개된 샘플이 있을 거라 생각하였다.구글링을 해보니 RSA Data Security에서 1990년도에 발행한 샘플 코드가 있었는데 여기에서 내게 필요한 것 외에 또다.. 더보기
숨김 폴더를 만들고 비밀번호를 걸기 c 프로그래밍 연습용으로 만들어보던 프로그램 중 하나입니다. 프로그램과 동일 경로에 폴더를 만들고 비밀번호를 걸어 숨기고 보이고 하게끔 하는 기능입니다. 라곤 하나 아직 배울게 많아 파일 구조나 그런 난이도 있는 쪽으로 접근한건 아니고 임시용으로 디렉토리에 속성만 가했습니다. 아주 기본적인 방법으로 만들었을 뿐이고 때문에 보호된 운영체제 파일 보기에 체크가 되어 있으면 보이긴 하며 정확한 경로명을 알아내면 패스워드 없이도 접근은 됩니다. 알고리즘을 적용하는 방법을 몰라 비밀번호는 소스 내에 포함하도록 하였습니다. 예시 프로그램 : #일부 환경에서 MSVCR110.dll 누락으로 프로그램이 실행되지 않는 문제가 있습니다.(XP에서는 넣어줘도 실행이 안됩니다)#해당 환경 이용자는 직접 컴파일 하시는걸 추천드.. 더보기
scanf에서 값을 받아들이지 못하고 스킵될 때 출처 : http://itguru.tistory.com/36 게시글 삭제 혹은 블로그 폐쇠 방지를 위해 해당 부분만 스크랩. scanf 함수의 고질적인 문제 및 해결책 scanf 함수를 사용하다 보면 다음과 같이 입력을 받지 않고 넘어가는 경우가 종종 있다. printf("숫자를 입력하세요 : "); scanf("%d", &num); printf("문자를 입력하세요 : "); scanf("%c", &c); 로 하면 "문자를 입력하세요 : " 부분이 실행되지 않고 넘어간다. 이러한 일이 발생하는 원인과 해결책은 여기를 누르면 알 수 있다. 이 글에 제시된 해결책 보다 조금 높은 수준을 원한다면 * 문자를 활용하면 된다. 앞에서 말했듯이 * 문자는 stdin 에서 입력은 받지만 그 데이터는 버려버리는 특징을.. 더보기
묵찌빠 프로그램 아는 동생의 부탁으로 묵찌빠 로직을 만들었는데, 이것을 같이 공유해 처음 공부하는 다른 학생들도 참고해서 이런 방법도 있다 정도로 알아뒀으면 좋겠다. 간단한 예시로 빈도분석과 같은 로직은 추가하지 않았다. #include #include #include int main (){int win=0;//승리수int me;//유저unsigned int rand_num;srand((unsigned int)time(NULL)); while(1){printf("묵찌빠를 시작하기 전에 선을 정하기 위하여 가위바위보를 해야합니다.\n다음 메뉴중 원하는것을 입력해주세요.\n\n메뉴번호[1=가위 2=바위 3=보] : ");scanf("%d",&me);//처음 가위바위보 값rand_num=rand()%(3)+1; if(me==.. 더보기
개념을 콕콕 잡아주는 C 프로그래밍 초판 272쪽 문제점 삼성 SDS 멀티캠퍼스 전임교수신 '천정아' 씨께서 쓰신 '개념을 콕콕 잡아주는 C 프로그래밍 초번 272쪽 예제 7-5는 visual studio 2010 및 2012에서 원래 안되는 겁니다. 복잡한 그런 프로그램도 아니고 기본서 배열 예시문에 특별한 연산도 없는 대소비교 프로그램인데 저자께서 사용하시는 visual c++ 6.0은 어떨지 모르겠으나 단순연산이 상위 버전에서 안된다는건 희안한 일입니다만, 결론은 오타로 인해 안되는게 아니라 원인을 알 수 없는 문제로 안됩니다. 그대로 구동하시면 값이 커졌다 작아졌다 할겁니다. 해당 소스의 9번째 줄에 , index 지우시고 14번째 줄 index = i; 삭제 17번째 줄 index를 i로 18번째 줄 index = j; 삭제 21,22번째 줄 inde.. 더보기