C언어로 프로그램 작성 시 간혹 입력 버퍼에 남아있는 값들로 인해 코드가 꼬이는 경우가 발생합니다.대게 C언어 처음에 배우는 입력문인 scanf로 입력 받을 경우 이러한 현상이 발생하구요.입력문을 여러번 사용할 경우 다음 입력문에서 입력을 받지 못하고 그냥 넘어가는 현상도 입력 버퍼에 \n이 남아있어서 그렇습니다. 이 경우 입력 버퍼를 초기화시켜주는 작업이 필요한데 OS마다 이 방법이 다릅니다. 윈도우 환경fflush(stdin); 리눅스 환경__fpurge(stdin); 이런 현상도 방지하고 안전한 코딩을 위해 가능하면 scanf보다는 gets()를 사용하는 것을 추천합니다.
[C언어] 웹사이트로 접속 요청하는 C언어 소스 #include //#include 보다 이후에 선언되어야 한다.#pragma comment (lib, "wininet.lib")#define IP "210.124.110.197"#define PHP "/war/pwnbit/pwnbit1.php" //전역 변수 선언HINTERNET hInternet, hHttp;HINTERNET hReq;//전역 변수 선언 끝 //웹 페이지 접속함수 선언hInternet = InternetOpen("HttpTest", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);if(hInternet == NULL) return -1; hHttp = InternetConnect(hInternet,IP, ..
일반적으로 Python에서 문자열 출력 시 print문을 사용합니다. 하지만 이 print문은 자동으로 개행이 되기 때문에 여러 줄의 문자열 출력 시 불편하기도 합니다. 이런 문제를 해결하기 위해 다음과 같은 방법들이 있습니다. - sys 모듈 import 후 sys.stdout.write() 함수 사용예)import syssys.stdout.write("aaa")sys.stdout.write("bbb") 결과)"aaabbb" - print문 마지막에, 추가예)print "aaa",print "bbb",print "ccc" 결과)"aaabbbccc"
파이썬에서는 문자열을 만들 때 ' ' 나 " " 이용합니다. 모두 문자열을 표시한다는 것에서는 차이가 없지만 작은 따옴표의 경우 하나의 단위를 표현하는 문자열에, 큰 따옴표는 문법적으로 의미를 두지 않는 문자열을 표현할 때 사용한다고 보시면 됩니다. 예를 들면 다음과 같습니다. if compiler == 'python': ... else: print "Python is Snake" 예제와 같이 문법적으로 의미를 가지는 단위의 경우 ' '를 사용하고, 크게 의미를 가지지 않는 문자열은 " "를 이용합니다. 하지만 어디까지나 관습이기 때문에 각각의 조직이나 개인별 차이가 있을 수 있습니다. = )
파이썬에서는 print()를 사용하면 자동으로 개행이 이뤄지고, 이런 print()와 값의 반환과 동시에 개행을 하는 함수를 이용하면 화면상에서는 2줄을 개행하게 됩니다. 이런 경우 문자열의 가장 마지막에 들어가는 개행문자('\n')을 제거해주면 되는데요. 가장 우측의 공백을 제거하는 함수인 rstrip()를 이용하면 됩니다. 함수의 인자로 개행문자인 '\n' 을 전달하면 되는데요. 제가 프로그래밍 했던 소스를 보겠습니다. import base64 print ("Base64: %s" % base64.encodestring("TEST").rstrip('\n')) rstrip('\n')을 사용하게 되면 개행문자를 제거하고 한 번만 개행시킬 수 있습니다. = )
Python에서 input()이나 raw_input()으로 문자열을 받을 경우 password 같이 화면에 보이지 않게 입력해야 할 경우가 있는데요. echo off 기능과 같은 것으로 python에서는 getpass module을 import 시켜서 같은 효과를 볼 수 있습니다. 이 getpass는 기본적으로 'Password: ' 가 prompt로 설정되어 있습니다. >>> import getpass >>> pw = getpass.getpass()Password: # 밑줄 부분은 입력이 보이지 않습니다. 만약 다른 prompt를 사용하고 싶으시다면 input()과 마찬가지로 괄호 안에 문자열을 넣어주시면 됩니다. 하지만 암호화까지 지원하지는 않기 때문에 프로그램에서 위와 같이 출력할 경우 passwo..
한글판 johnsonj 2008.07.28 월 출처: http://coreapython.hosting.paran.com/howto/sebsauvage_net-%20Snyppets%20-%20Python%20snippets.htm#beginner이 페이지에서는 수 많은 파이썬 조각코드와 요리법, 미니-가이드와 링크, 예제와 튜토리얼 그리고 아이디어를 아주 (아주) 기본에서부터 고급에 이르기까지 모두 다룬다.모쪼록 도움이 되기를 바란다.(잊지 마시고 본인의 메인 파이썬 페이지를 읽어 보시기 바란다 ( http://sebsauvage.net/python/ ): 다른 프로그램들도 보실 수 있고 윈도우즈 아래에서 C/C++로 자신만의 확장을 만드는 법을 보실 수 있다.)FTP를 사용하여 파일 전송하기큐(FIFO)..
Python에서 사용자의 입력을 받는 방법이 두 가지가 있습니다. input() 함수를 이용한 방법과 raw_input()을 이용한 방법으로 두 함수는 사용자 입력을 어떻게 받아들이냐의 차이입니다. 예제를 통해 두 가지 방법의 차이점을 알아보겠습니다. input()의 경우 정수형으로 입력을 받습니다. >>> a = input()1234>>> a1234>>> print a1234 raw_input()의 경우 문자열로 입력을 받습니다.>>> a = raw_input()1234>>> a'1234'>>> print a1234 위의 경우 변수 a를 출력했을 때 '' 의 차이를 보고 정수형인지 문자열인지 알 수 있습니다. a = input()을 했을 경우 '' 없이 asdf라고 입력을 하면 문법 에러가 발생하며 '..
- Total
- Today
- Yesterday
- 웹
- Sublime Text 2
- www
- 해커스쿨
- 티스토리
- 분석
- 개발
- 악성코드
- 프로그래밍 언어
- DNSOverHTTPS
- CK Exploit Kit
- python
- 웨일브라우저
- 스크립트
- 문제풀이
- writeup
- 파이썬
- CODEGATE 2014
- 사이버테러
- CloudFlare
- DoH
- hackerschool
- 프로그래밍
- Wargame
- network
- BOF
- TISTORY
- FTZ
- exploit
- 자바스크립트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |