Từ 1 tới 9 trên tổng số 9 kết quả

Đề tài: Tại sao argv[] không nhận ký tự "^"?

  1. #1
    Ngày gia nhập
    10 2010
    Bài viết
    9

    Question Tại sao argv[] không nhận ký tự "^"?

    Code:
    #include <iostream>
    using namespace std;
    void main(int argc, char *argv[])
    {
    cout << argc << endl;
    }
    Sao mình truyền vào "^" thì nó không nhận nhỉ? (argc chỉ có 1)
    Ai biết tại sao chỉ mình với? :(
    Đã được chỉnh sửa lần cuối bởi alvis007 : 03-10-2011 lúc 03:55 PM.

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Bạn truyền thế nào và dùng chương trình nào gọi lên ?
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    10 2010
    Bài viết
    9

    Mình truyền trong Project Properties > Debugging phần Command Arguments đánh vào ^ nhưng sao argc chỉ có 1. Thử truyền bằng Run > cmd cũng thế :(
    À cái này mình viết bằng VS2008 đó bạn.

  4. #4
    Ngày gia nhập
    07 2011
    Bài viết
    160

    Trích dẫn Nguyên bản được gửi bởi alvis007 Xem bài viết
    Code:
    #include <iostream>
    using namespace std;
    void main(int argc, char *argv[])
    {
    cout << argc << endl;
    }
    Sao mình truyền vào "^" thì nó không nhận nhỉ? (argc chỉ có 1)
    Ai biết tại sao chỉ mình với? :(
    Cái đó phụ thuộc vào môi trường có coi ^ là ký tự đặc biệt không (windows thì có)
    Như trong win thì cho vào dấu nháy kép là được, như sau:
    prog.exe "^"

  5. #5
    Ngày gia nhập
    10 2010
    Bài viết
    9

    Cái này mình gặp từ bài tập này: Viết chương trình TinhToan sao cho khi gõ: TinhToan 3 - 2 sẽ xuất ra màn hình 1 (có thể thay bằng +, *, /, ^). Mở rộng cho phép tính số thực, phân số, giờ...
    Vậy có cách nào khác không bạn? Không lẽ phải truyền 3 "^" 2 à..Nhìn xấu quá :(

  6. #6
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mặc định Tại sao argv[] không nhận ký tự "^"?

    Truyền "3 ^ 2" chứ ko phải 3 "^" 2
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  7. #7
    Ngày gia nhập
    10 2010
    Bài viết
    9

    Truyền vậy thì argv[1] sẽ bằng nguyên chuỗi "3 ^ 2" luôn. Mình muốn là argv[1] = "3", argv[3] = "2" và argv[2] = ^.

  8. #8
    Ngày gia nhập
    04 2008
    Nơi ở
    Bốn bề là nhà
    Bài viết
    697

    Buộc phải truyền "3 ^ 2" thôi.
    Còn nếu vẫn muốn truyền vào 3 tham số như của bạn thì có 2 cách:
    + "^" -> Cái này bác kêu xấu.
    + Qui ước phép toán ^ là 1 ký tự khác đi.

  9. #9
    Ngày gia nhập
    10 2010
    Bài viết
    9

    Uhm, mình cũng nghĩ hết cách rồi. Đành phải thế thôi. Tks mọi người đã chỉ bảo

Các đề tài tương tự

  1. nghĩa của 3 từ "principals", "artifacts", "securables" là như thế nào?
    Gửi bởi ntbao trong diễn đàn English for IT | Tiếng anh cho dân CNTT
    Trả lời: 2
    Bài viết cuối: 02-09-2017, 06:36 PM
  2. Nhập "\t" và "\t" trong khi ghi file C/C++?
    Gửi bởi krs trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 3
    Bài viết cuối: 26-03-2012, 10:46 PM
  3. Trả lời: 4
    Bài viết cuối: 14-09-2011, 11:01 PM
  4. Problems : " recover tree " with input as " preorder" and "inorder"
    Gửi bởi HoangManhHa1991 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 13-04-2011, 10:19 PM
  5. Lập trình C chuyển bài toán "tổng số nguyên tố" sang "xuất nhập file"
    Gửi bởi long221091 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 23-04-2010, 11:11 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn