01/10/2018, 08:21

Tham số dòng lệnh trong C, chạy bằng command prompt

Mọi người cho em hỏi với ạ, em có một project về chương trình dịch, trong 1 thư mục thầy giáo cho có 5 file có dạng xxx.c và tương ứng với nó là 5 file thư viện xxx.h và 1 makefile. Đề bài thầy giáo bắt hoàn thiện 1 file đang thiếu là scanner.c trong đó hàm main của file này có tham số dòng lệnh argc, argv. IDE code C của em là Code Blocks trên window ạ. Hàm main nhận vào 1 file example.txt và xuất ra 1 file khác là result.txt, vậy cho em hỏi là làm sao có thể chạy được ạ, em có tìm hiểu thì sử dụng command prompt nhưng em chưa hiểu chạy sao ạ.

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

Hi Hung Pham Hoang.
Bạn code bằng Code Blocks nhiều chưa ?
Code Blocks không làm được những gì bạn cần đâu.

Hung Pham Hoang viết 10:25 ngày 01/10/2018

ý mình là sử dụng command prompt ấy, tương tự terminal trên ubuntu ấy.

Kiet_le viết 10:37 ngày 01/10/2018

Theo mình biết thì tham số dòng lệnh chỉ hoạt động được trên môi trường console thôi
Để làm được thì trước hết bạn cần cài đặt biết môi trường cho cái MinGW bạn đang sử dụng.
Sau đó thì bạn vào cmd hoặc PowerShell di chuyển tới thư mục chứa file bạn cần compile, compile ra 1 file exe rồi chạy thôi

Nghia Nguyen viết 10:30 ngày 01/10/2018

Bạn build ra file thực thi
Sau đó thực hiện chạy ./excute_file arg1 arg2

Khi đó các đối số bạn truyền là arg1 và arg2 chính là các phần tử trong mảng args[] ở hàm main

int main(int argc, char* args[])

Khi này:

  • args[0] chính là excute_file
  • args[1] chính là arg1
  • args[2] chính là arg2
Hung Pham Hoang viết 10:35 ngày 01/10/2018

Mình định dùng command prompt trên win đó bạn, bạn có thể nói về cài đặt môi trường cho mingw như thế nào k ạ 3

Hung Pham Hoang viết 10:25 ngày 01/10/2018

Build ra file exe hả bạn :3

Nghia Nguyen viết 10:36 ngày 01/10/2018

Trên windows là vậy. Còn những os thì excute file sẽ có đuôi mở rộng khác

Kiet_le viết 10:36 ngày 01/10/2018

Vào PowerShell và paste dòng này vào, chỗ _______ là đường dẫn thư mục mingw của bạn [Environment]::SetEnvironmentVariable("Path", "$env:Path;________", "User")

Hung Pham Hoang viết 10:25 ngày 01/10/2018

Mọi người có thể hướng dẫn mình cách build ra file exe được ko ạ, mình chỉ build được ra 1 file scanner.o thôi ạ.
Mình dùng IDE là Code Blocks, m.n dùng gì thì nói với ạ, mình sẽ try hard.

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

Hi Hung Pham Hoang.
Bạn code bằng Code Blocks nhiều chưa ?
Code Blocks không build duoc file exe dau.

Kiet_le viết 10:33 ngày 01/10/2018

Lần đầu tiên nghe điều này luôn ấy, Code::Blocks build exe được mà :v

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

chỉ build được ra 1 file scanner.o

Kiet_le viết 10:35 ngày 01/10/2018

Trong Code::Blocks chọn build and run, vào file của project => bin => debug có cái file .exe

Nghia Nguyen viết 10:32 ngày 01/10/2018

Nếu bạn là người mới bắt đầu với lập trình C/C++ thì xe bài viết này để biết cách build một chương trình C/C++ bằng dòng lệnh
http://eitguide.com/cach-build-mot-chuong-trinh-cc-bang-terminal/

Nghia Nguyen viết 10:28 ngày 01/10/2018

Và cách build một chương trình C/C++ sử dụng các thư viện ngoài như OpenCV, SDL, FFMPEG…

Hung Pham Hoang viết 10:28 ngày 01/10/2018

phải dùng linux os hả bạn @@ à bạn ơi, thầy giáo mình có cho 1 file đặt tên là make file, trong link bài viết cũng có nói, mình đọc và cũng hiểu, nhưng mình muốn hiểu kĩ hơn 1 tí, bạn có thể cho mình link bài viết có make file được ko

Hung Pham Hoang viết 10:25 ngày 01/10/2018

thấy rồi nha, cơ mà mình ko truyền tham số, build and run ko ra file exe trong debug bạn à :3 nếu những file C ko có đối số thì build được mà file này bắt có file truyền vào đối số nên build báo lỗi no such file or directory ấy :3

Bài liên quan
0