Mercurial > codedump
annotate decode.cpp @ 2:26b01c33d7ab
Update python3path.bat
committer: GitHub <noreply@github.com>
author | Paper <37962225+mrpapersonic@users.noreply.github.com> |
---|---|
date | Mon, 04 Jan 2021 14:02:35 -0500 |
parents | 05978f04869b |
children | aac9a23bd027 |
rev | line source |
---|---|
1
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
1 // requires libcurl |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
2 #include <curl/curl.h> |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
3 #include <iostream> |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
4 #include <string.h> |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
5 #include <fstream> |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
6 |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
7 int main(int argc, char *argv[]){ |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
8 if(argc != 3){ |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
9 std::cout << "usage: " << argv[0] << " <input> <output>"; |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
10 return 0; |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
11 } |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
12 std::string encoded; |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
13 CURL *curl = curl_easy_init(); |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
14 char somedata[256]; |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
15 std::ifstream in(argv[1], std::ios::in | std::ios::binary); |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
16 if (in) |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
17 { |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
18 in.seekg(0, std::ios::end); |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
19 encoded.resize(in.tellg()); |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
20 in.seekg(0, std::ios::beg); |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
21 in.read(&encoded[0], encoded.size()); |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
22 in.close(); |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
23 } |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
24 int outlength; |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
25 char *cres = curl_easy_unescape(curl, encoded.c_str(), encoded.length(), &outlength); |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
26 std::string res(cres, cres + outlength); |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
27 curl_free(cres); |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
28 curl_easy_cleanup(curl); |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
29 std::ofstream myfile2; |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
30 myfile2.open(argv[2]); |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
31 myfile2 << res; |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
32 myfile2.close(); |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
33 return 0; |
05978f04869b
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
34 } |