Chuyển đổi chuỗi thành mảng char c ++

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách chuyển đổi một chuỗi thành một mảng ký tự trong C++. Có nhiều cách để chuyển đổi một chuỗi thành một mảng char trong C++. Hãy thảo luận về một số trong số họ ở đây từng cái một

Sử dụng vòng lặp

Chúng ta có thể dễ dàng chuyển đổi một chuỗi C++ đã cho thành một mảng ký tự bằng cách sử dụng vòng lặp for như trong đoạn mã dưới đây

#include 
#include 

using namespace std;

void print_char_array(char array[], int size)
{
    for(int i=0; i

đầu ra

This is a string

Sử dụng hàm strcpy() và c_str()

Chúng ta cũng có thể sử dụng các hàm strcpy() và c_str() để chuyển đổi một chuỗi thành một mảng ký tự trong C++. Phương thức c_str() trả về một con trỏ tới một chuỗi ký tự kết thúc null cho một đối tượng chuỗi. Chúng ta có thể sao chép các ký tự này trong mảng char của mình bằng hàm strcpy(). Xem ví dụ bên dưới

#include 
#include 

using namespace std;

void print_char_array(char array[], int size)
{
    for(int i=0; i

đầu ra

This is a string

sử dụng tiêu chuẩn. sợi dây. sao chép()

Phương thức này cũng có thể được sử dụng để chuyển đổi một chuỗi thành một mảng char. Nó nhận hai tham số – Thứ nhất, mảng ký tự mà chúng ta muốn chuyển đổi và kích thước của chuỗi. Chương trình dưới đây sẽ giúp bạn hiểu điều đó

#include 
#include 

using namespace std;

void print_char_array(char array[], int size)
{
    for(int i=0; i

đầu ra

This is a string

Bằng cách gán địa chỉ của chuỗi cho một con trỏ tới char

Một phương pháp khác để chuyển đổi một chuỗi thành mảng char là gán địa chỉ của ký tự đầu tiên của chuỗi đã cho cho một con trỏ char. Hãy xem đoạn mã sau

Chuỗi là một chuỗi các ký tự được coi là một mục dữ liệu duy nhất và được kết thúc bằng một ký tự null '\0'. Hãy nhớ rằng ngôn ngữ C không hỗ trợ chuỗi dưới dạng kiểu dữ liệu. Một chuỗi thực sự là một mảng ký tự một chiều trong ngôn ngữ C. Chúng thường được sử dụng để tạo ra các chương trình có ý nghĩa và dễ đọc

Nếu bạn không biết mảng trong C có nghĩa là gì, bạn có thể xem hướng dẫn C Array để biết về Array trong ngôn ngữ C. Trước khi tiếp tục, hãy kiểm tra các bài viết sau

Ví dụ. Chuỗi "home" gồm 5 ký tự trong đó có ký tự '\0' do trình biên dịch tự động thêm vào cuối chuỗi

string in C

Khai báo và khởi tạo biến chuỗi

// valid
char name[13] = "StudyTonight";        
char name[10] = {'c','o','d','e','\0'};      

// Illegal
char ch[3] = "hello";    
char str[4];
str = "hello";  

Đầu vào và đầu ra chuỗi

  • Trình xác định định dạng %s để đọc đầu vào chuỗi từ thiết bị đầu cuối

  • Nhưng hàm scanf(), kết thúc đầu vào của nó trên khoảng trắng đầu tiên mà nó gặp phải

  • chỉnh sửa bộ mã chuyển đổi %[. ] có thể được sử dụng để đọc một dòng chứa nhiều ký tự khác nhau, bao gồm cả khoảng trắng

  • Hàm gets() cũng có thể được sử dụng để đọc chuỗi ký tự có khoảng trắng

char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
char text[20];
gets(text);
printf("%s", text);

Hàm xử lý chuỗi

Ngôn ngữ C hỗ trợ một số lượng lớn các hàm xử lý chuỗi có thể được sử dụng để thực hiện nhiều thao tác với chuỗi. Các chức năng này được đóng gói trong chuỗi. thư viện h. Do đó, bạn phải bao gồm chuỗi. h trong các chương trình của bạn để sử dụng các chức năng này

Sau đây là các hàm xử lý chuỗi được sử dụng phổ biến nhất

Phương thức Mô tả
char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
0Nó được sử dụng để nối (kết hợp) hai chuỗi
char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
1Nó được sử dụng để hiển thị độ dài của một chuỗi
char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
2Nó được sử dụng để hiển thị mặt trái của một chuỗi
char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
3Sao chép một chuỗi thành một chuỗi khác
char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
4Nó được sử dụng để so sánh hai chuỗi

Hàm char str[20]; printf("Enter a string"); scanf("%[^\n]", &str); printf("%s", str); 0 trong C

strcat() function in C

cú pháp

strcat("hello", "world");

char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
0 sẽ thêm chuỗi "world" vào "hello" i. đầu ra điện tử = xin chào thế giới

Hàm char str[20]; printf("Enter a string"); scanf("%[^\n]", &str); printf("%s", str); 1 và char str[20]; printf("Enter a string"); scanf("%[^\n]", &str); printf("%s", str); 4

char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
1 sẽ trả về độ dài của chuỗi được truyền cho nó và
char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
4 sẽ trả về sự khác biệt ASCII giữa ký tự không khớp đầu tiên của hai chuỗi

Làm cách nào để tạo một mảng char trong C?

Khởi tạo mảng bằng chuỗi (Cách 1). char arr[] = {'c','o','d','e','\0'}; Trong khai báo trên . Byte null được yêu cầu làm byte kết thúc khi toàn bộ chuỗi được đọc.

Sự khác biệt giữa mảng char và chuỗi trong C là gì?

Chuỗi đề cập đến một chuỗi các ký tự được biểu diễn dưới dạng một kiểu dữ liệu. Mảng ký tự là tập hợp tuần tự của kiểu dữ liệu char . Chuỗi là bất biến.

Làm cách nào để chuyển đổi chuỗi thành char trong C sharp?

Cho một chuỗi, nhiệm vụ là chuyển chuỗi này thành một mảng ký tự trong C#. Bước 1. lấy chuỗi. Bước 2. Tạo một mảng ký tự có cùng độ dài với chuỗi. Bước 3. Di chuyển qua chuỗi để sao chép ký tự ở chỉ mục thứ i của chuỗi sang chỉ mục thứ i trong mảng .