2009-08-01 43 views
5

Tôi chỉ mới bắt đầu lập trình và trải qua K & R để thử và tìm hiểu C. Tôi đã nhận được phần trên các đối số dòng lệnh (5.10) nhưng bây giờ tôi đang stumped. Mỗi khi tôi thử và mở một chương trình tôi đã viết với các đối số dòng lệnh, tôi đã nói rằng tệp X, X là đối số, không tồn tại.Người mới bắt đầu Làm K & R

'gcc -o tìm find.c

mở find thử nghiệm

Các tập tin/Documents/Learning_C/kiểm tra không exist.`

Bất kỳ lời đề nghị? Cảm ơn

Trả lời

3

Bạn đang sử dụng hệ thống nào? Trong Unix/Linux bạn biên dịch & chạy thực thi của bạn thông qua:

gcc -o find find.c 
./find test 

As others have noted, khi bạn có tiền tố nhị phân của bạn với "./", có sẽ không có bất kỳ xung đột đặt tên. Tuy nhiên, nếu bạn đã thực hiện find truy cập trong $PATH của bạn, bạn có thể có một số mâu thuẫn với findtest chương trình --standard với hầu hết các bản phân phối * nix ... Có lẽ bạn có thể chọn tên cụ thể hơn (tức là ./myFind testArg)

+0

Tiền tố "./" * là * quan trọng, ít nhất là trên Linux, là thư mục hiện tại "." thường không phải là một phần của biến PATH, do đó hệ thống sẽ không tìm thấy nhị phân. Nếu tệp thực thi bạn đã tạo có cùng tên như một chương trình chuẩn trên hệ thống của bạn (như "kiểm tra"), "./" sẽ sử dụng chương trình hệ thống, không phải chương trình bạn biên dịch. – bluebrother

+0

Bạn hiểu nhầm những gì tôi đã nói. Tôi đã làm/không/nói "Nó không quan trọng hay không bạn tiền tố với" ./ "... Tôi chỉ đơn giản là chỉ ra chính xác những gì bạn nói: Nếu bạn tiền tố với" ./ ", sẽ không có một cuộc đụng độ đặt tên với tìm kiếm & kiểm tra – Pete

+0

@Pete, cảm ơn cho slurping trong câu trả lời mà những người khác cung cấp.Đầu tiên với tên xung đột với lệnh hệ thống tìm và sau đó với việc sử dụng ./ để dereference Kiểm tra các chỉnh sửa phụ nữ và gents ... –

1

Thử đặt tên cho tệp thực thi của bạn.

Tôi nghi ngờ việc bạn thực hiện lệnh tìm hệ thống đang tìm thư mục có tên là 'test'.

Hoặc thử buộc nó bằng cách thực hiện

./find toto 

Edit: prepending các ./ cho lệnh rất quan trọng vì nó nói với vỏ để thực hiện tìm trong thư mục hiện như trái ngược với người đầu tiên 'tìm 'tồn tại trong PATH của bạn. Nó thường được khuyến cáo rằng bạn không có. (thư mục hiện tại) trong PATH của bạn vì lý do bảo mật.

HTH

P.S. Quên để nói tốt cho làm việc thông qua K & R. Tôi chỉ hoàn thành làm tương tự sau khi làm việc trong C trong ba mươi năm và nó là tốt để lấy lại và làm mới tâm!

0

Thay vì làm cho tất cả chúng ta đoán chính xác bạn đang làm gì sai, có lẽ bạn nên dán chương trình bạn đang sử dụng cho hình minh họa được đề cập?

+0

điều này có lẽ nên là một bình luận .. – sud03r

+0

Cảm ơn bạn đã tip. – blacky

Các vấn đề liên quan