01/10/2018, 09:11

Thắc mắc về hàm system trong C

Mình có 1 hàm nó sẽ sử dụng trình duyệt mở các url mình gửi vào như thế này:

 void open_url(char *url){
     char cmd[500] = "cmd /c start ";
     strcat(cmd, url);
     system(cmd);
 }

Tuy nhiên khi mình chạy thử hàm thì nó chỉ ra cái cửa sổ cmd này thôi


mình đã kiểm tra biến cmd và thấy nó không sai

Sau đó mình liền thử với đoạn mã này thì mọi chuyện lại suôn sẻ

 void open_url(char *url){
     char link[255] = "http://google.com";
     char cmd[500] = "cmd /c start ";
     strcat(cmd, link);
     system(cmd);
 }

Mong mọi người giúp đỡ!

Luôn tiện cho mình hỏi làm sao để chèn code vậy?

Tao Không Ngu. viết 11:18 ngày 01/10/2018

Hi True Blue.
Chưa hiểu câu hỏi lắm.

True Blue viết 11:25 ngày 01/10/2018

Ý là cái hàm open_url đó thay vì nó mở một cái trình duyệt, thì nó lại mở ra cái cửa sổ cmd.

Tao Không Ngu. viết 11:15 ngày 01/10/2018

Hi True Blue.
Thì đúng là nó dùng để mở tẻminal lên mà ?.
Bạn muốn làm gì chứ ?

True Blue viết 11:27 ngày 01/10/2018

Đâu có, hàm open_url sẽ mở một cái url trên trình duyệt. như đoạn code thứ 2 của mình thì nó mở google.com trên trình duyệt

Tao Không Ngu. viết 11:21 ngày 01/10/2018

Hi True Blue.
Thêm nháy vào.

void open_url(char *url){
     char cmd[500] = "cmd.exe /c \" start ";
     strcat(cmd, url);
     strcat(cmd, "\"");
     system(cmd);
 }
True Blue viết 11:14 ngày 01/10/2018

Chạy được rồi, cảm ơn bạn.
Nhưng tại sao code kia không chạy vậy nhỉ, mình lấy trong head first c mà

Bài liên quan
0