Chào mọi người. Lúc trước em có vô tình đọc được bài viết tự động bắt link tải mp3 của zing bằng Java. Em thử chuyển nó về C++. Cách thì đơn giản lắm . Mỗi tội em chưa biết về GUI, bị hạn chế về khả năng và đang vướng thi cuối kỳ nữa nên làm tạm cách thủ công: Copy link vào một file txt rồi đọc file ý
Sau một hồi nhờ anh google thì em tìm được hàm ShellExecute dùng để chạy application.
Các đại ca có thể xem code:
#include <fstream>
#include <string>
#include <windows.h>
using namespace std;
int main(){
string link;
ifstream file("link.txt");
file >> link;
size_t finds1 = link.find(".html");link.erase(finds1,5);
size_t finds = link.find_last_of("/");link.erase(0,finds);
string realLink= "http://v3.mp3.zing.vn/download/vip/song" + link;
char* linkChar = new char[realLink.size()];
for(int pos = 0;pos < realLink.size(); pos++){
linkChar[pos] = realLink[pos];
}
ShellExecute(NULL, NULL, linkChar, NULL, NULL, SW_SHOWNORMAL);
}
Ví dụ em copy vào file txt link sau: http://mp3.zing.vn/bai-hat/Chu-Ech-Con-Nguyet-Hang/ZW607C7U.html
Thì sau khi chỉnh sửa nó sẽ được link để tải về: http://v3.mp3.zing.vn/download/vip/song/ZW607C7U
Nhưng mà khi chạy hàm ShellExecute thì nó lại khởi động trình duyệt bằng mấy kiểu link này:
http://v3.mp3.zing.vn/download/vip/song//ZW607C7U9Ø8? (cái phần %119Ø8? nó ở đâu ra ý )
Vậy có đại ca nào có thể nói cho em về ShellExecute và phần code trên được không ạ?
Em cảm ơn.
À còn một cái nữa, tuy là hỏi ngu nhưng chẳng lẽ không biết lại không hỏi
:
#include <fstream>
using namespace std;
int main(){
char* link;
ifstream file("link.txt");
getline(file,link);
}
Tại sao getline lại báo lối khi em dùng char* còn khi dùng string thì lại ngon ạ?
Em cảm ơn cái nữa ạ.