게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
지난번 질문했던 send()에 별도의 값 넣는 방법 입니다.
게시물ID : programmer_19625짧은주소 복사하기
작성자 : 익명4601
추천 : 0
조회수 : 447회
댓글수 : 2개
등록시간 : 2017/01/20 10:46:40
옵션
  • 창작글
지난번에 send()함수에 넣기전 별도로 값을 받아서 병합해서 사용 하는 방법을 질문했었는데,
 
계속 구글링도 하고 오유 프게의 작은돼지님 께서 답을 찾는 방법을 알려주셔서 혹시 저와 같이 초보분들중 찾는 분이 계실까 하여 올립니다.
(저는 예전부터 system() 참 많이 썼는데 이 value에 입력받은 변수를 넣는 법을 이때까지 몰랐습니다!)
 
언어는 입출력문이 다소 불편하여 CPP 로 작성했습니다.
 
(해당 코드는 전체 소스가 아니여서 실행되지는 않습니다. 사용법 예를 들기위해 가져왔습니다.)
 
#include <winsock2.h>
#include <windows.h>
#include <iostream>
#include <string>
#pragma comment(lib, "ws2_32.lib")
 
using namespace std;
int main(int argc, char* argv[]){
  char *i_url[100];
  *i_url = argv[1];
    string firstorder ="GET / HTTP/1.1\r\nHost:";  //첫번째 문자열입니다.
    string lastorder ="\r\nConnection: close\r\n\r\n"; //세번째 문자열입니다.
    string o_url;      //1+2+3 문자열을 합친 문자열입니다.
 
    firstorder.append(*i_url);  //str.append()를 사용하여 firstorder에 *i_url 값을 이어 붙입니다.
    o_url = firstorder.append(lastorder); //o_url은 위의 합친 문자열에 마지막 문자열을 합칩니다.
    const char *cstr = o_url.c_str(); //send()는 *char형만 받기때문에, string으로 합친것들을 *char 형으로 형변환 해줍니다.
 
    send(Socket,cstr,strlen(cstr),0);  //보낼 내용과, 보낼 문자열(*char)의 길이를 측정해주는 strlen()를 사용했습니다.
}
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호