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

Đề tài: Gặp lỗi khi làm việc với chuỗi ký tự

  1. #1
    Ngày gia nhập
    04 2008
    Bài viết
    12

    Mặc định Gặp lỗi khi làm việc với chuỗi ký tự

    Mình gõ một đoạn code thế này
    PHP Code:
    #include<iostream.h>
    #include<string.h>
    #include<stdio.h>
    void main()
    {
        
    chars="abc";
        
    charq=strcat(s,"def");
        
    cout<<q;

    Lúc chạy thì thấy hiện báo lỗi như hình dưới đây

    Cho mình hỏi thêm là tại sao mình upload file ảnh lên ko được vậy?

  2. #2
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    char* s="abc";
    Bất cứ khi nào khai báo " " thì thêm chữ const vào, nó implicitly là const char*.
    mà const char* thì không có strcat được

  3. #3
    Ngày gia nhập
    04 2008
    Bài viết
    12

    Mình ko hiểu, bạn giải thích rõ hơn được ko?

  4. #4
    Ngày gia nhập
    07 2006
    Nơi ở
    Hà nội
    Bài viết
    204

    char* s="abc";
    Dòng này khai báo con trỏ kí tự s trỏ đến xâu "abc". "abc" là xâu có nội dung khi viết chương trình nên là hằng xâu. Vì là hằng nên được khởi tạo ở vùng chỉ được đọc, ko ghi vào được.
    Hàm strcat gắn 1 xâu vào xâu cũ, chứ ko tạo ra xâu mới, nên xâu cũ cần có đủ chỗ để gắn thêm xâu mới vào, với lại ko cần 1 biến nữa để lấy giá trị trả về của hàm.
    Thêm nữa là sao ko chụp lúc debug ấy
    Life:\> dir

  5. #5
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Dùng C++ thì nên dùng std::string (#include <string> )
    C++ Code:
    1. #include <iostream>
    2. #include <string>
    3.  
    4. int main(){
    5.   std::string str1 = "abc";
    6.   str1.append("def");
    7.   std::cout << str1;
    8.   return 0;
    9. }

  6. #6
    Ngày gia nhập
    04 2008
    Bài viết
    12

    Mặc định Gặp lỗi khi làm việc với chuỗi ký tự

    Trích dẫn Nguyên bản được gửi bởi rox_rook Xem bài viết
    Dùng C++ thì nên dùng std::string (#include <string> )
    C++ Code:
    1. #include <iostream>
    2. #include <string>
    3.  
    4. int main(){
    5.   std::string str1 = "abc";
    6.   str1.append("def");
    7.   std::cout << str1;
    8.   return 0;
    9. }
    Cài này chỉ dùng được trong vc++ thôi phải ko? còn những compiler khác như TC và BC có dùng được ko?

  7. #7
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Code đó chạy cho mọi compiler C++ (for any OS), not only for Visual C++ ( tui ko ưa Microsoft T_T ).
    Borland C++ thì nó có khác 1 chút, cậu đọc help của nó, tui chỉ xài thằng Borland 1 lần và chia tay nó từ bao giờ tui cũng không còn nhớ.

  8. #8
    Ngày gia nhập
    04 2008
    Bài viết
    12

    Sao mình copy đoạn code của bạn cho vào TC chạy nó báo lỗi ngay mà
    Đã được chỉnh sửa lần cuối bởi condorhero89 : 17-04-2008 lúc 09:22 AM.

  9. #9
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    TC not TC++ T_T, cậu down dev-cpp về mà dùng hoặc Code::Block hoặc Visual 2008 C++ express cũng được, compiler của cậu tui nghi là C not C++.

  10. #10
    Ngày gia nhập
    04 2008
    Bài viết
    12

    Bây giờ gõ thêm đoạn code này, các bạn xem dùm có lỗi gì không mà sao chạy không được
    PHP Code:
    // string constructor
    #include <iostream.h>
    #include <string.h>

    int main ()
    {
        
    chars="11/08/89";
        
    charngay=strtok(s,"/");
        
    cout<<ngay<<endl;
        return 
    0;

    Chạy trong Turbo C thì được, trong cygwin thì báo lỗi thế này

    Chạy trong VC++ thì lỗi y chang bữa trước. À dùng hàm fgets nó cũng báo lỗi y chang vậy . Có phải mình cài VC++ gặp lỗi gì ko nhỉ? Qua máy thằng bạn thử thì cũng thấy lỗi này.

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

  1. Bài tập C++ Cách để so sánh 2 chuỗi kí tự giữa chuỗi nhập từ phím và chuỗi từ file xem có giống nhau không?
    Gửi bởi davilson18 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 09-06-2012, 09:47 AM
  2. Lập trình C Thay thế chuỗi s1 trong chuỗi s bằng chuỗi s
    Gửi bởi duytue trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 23-09-2011, 04:16 PM
  3. thay thế chuỗi con thứ i trong chuỗi mẹ bằng 1 chuỗi khác
    Gửi bởi nhat1811 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 06-08-2011, 08:25 AM
  4. Trả lời: 1
    Bài viết cuối: 29-06-2011, 12:02 AM
  5. xem một từ trong chuỗi là một chuỗi con, sắp xếp các chuỗi con theo thứ tự tăng dần
    Gửi bởi qpkdct1101 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 20-01-2011, 08:22 AM

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