URI문제 c++과 c의 차이

  • User Avatar
    tkdgur4989


    ~~~ c++
    #include
    #include
    using namespace std;

    int main() {
    int count;
    cin >> count;

      while(count--) {
          string input,output;
          char out[3];
          int j;
          cin >> input;
          for(int i=0; i<input.length(); ++i) {
              if(input.at(i) == '%') {
                  /*out[0] = input.at(i+1);
                  out[1] = input.at(i+2);
                  out[2] = 0;
                  sscanf(out, "%x", &j);*/
                  output.push_back(input.at(i+1));
                  output.push_back(input.at(i+2));
                  sscanf(output.c_str(), "%x", &j);
                  printf("%c", j);
                  i+=2;
              }
              else {
                  cout << input.at(i);
              }
          }
          cout << endl;
      }
      return 0;
    

    }
    ~~~

    중간의 주석으로한 부분으로 실행하면 정답이 나오는데
    ~~~ c++
    out[0] = input.at(i+1);
    out[1] = input.at(i+2);
    out[2] = 0;
    sscanf(out, "%x", &j);
    ~~~

    이부분으로 하면 안되네요
    ~~~ c++
    output.push_back(input.at(i+1));
    output.push_back(input.at(i+2));
    sscanf(output.c_str(), "%x", &j);
    ~~~
    두 코드의 차이가 무엇인지 궁금하네요


    8년 전
0개의 댓글이 있습니다.
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.