[Wiki] Các hàm xử lý chuỗi thông dụng trong C/C++

nó là con trỏ :sunny:

1 Like

Có hàm nào lấy độ dài xâu của kiểu string ko vậy
Hàm strlen(char *s) chỉ cho phép kiểu char * mà không dùng được với string.

em muôn tham gi được không ạ

std::string myString ="abchhdhdd";
int a = myString.length();

Cảm ơn bạn. Hôm đó quên nên hỏi. Lâu rồi không dùng đến.

Cho em hỏi, muốn biết được kí tự có phải là kí tự in hoa hay in thường không thì phải làm sao???

isupperislower trong <cctype> Trong cctype còn nhiều hàm nữa bạn nhòm cái bảng ở dưới là biết hàm nào dùng để phân biệt ký tự là loại nào.

1 Like

rất hay. Đúng lúc em cần dùng các hàm này.Thank anh rất nhiều

a ơi e có làm 1 bài tìm chuỗi đối xứng nhưng mà e viêt code ra rồi nhưng ns chạy ko dc theo như ý muốn a có thể xem giúp e dc ko ah e cảm ơn ah @%&*)))

#include<iostream>
#include<string.h>

using namespace std;
int main()
{
	char s[100]="ababacabccaa", t[100],a[100];
	int i, j, k;
	
	
	strcpy_s(t, _strrev(s));
	for (i = 0; i <strlen(s);i++)
	for (j = strlen(t); j >=0; j--)
	{
		for (k = 0; k < 12; k++)
		{ 
			if (strncmp(s+i, t+j, k) == 0)
				strncpy_s(a, s+i, k);
				a[k] = '\0';
			
				
		}
		cout << a << endl;
	}
	
	
	system("pause");
	
	
}

hàm kiểm tra các số nguyên trong chuỗi ký tự , có không ạ .

Không nhé.

Mở docs của C++ là ra:

en.cppreference.com/w/cpp/language

1 Like

Dấu * là tượng trưng cho con trỏ đó bạn, chuỗi kí tự thực chất là mảng các kí tự, mà mảng thì vẫn là con trỏ thôi

1 Like

Bên pascal hàm xử lí cho string/ansistring còn dùng đc cho cả kiểu dữ liệu char. Sao c++ ko có hàm nào cho string vậy mình mới chuyển từ pascal sang nên còn bỡ ngỡ

hàm cho string ví dụ như hàm gì :V

phải kết hợp mấy hàm bên thư viện <algorithm> với <cctype> lại mệt lắm :V

1 Like

ví dụ copy bên pascal: muốn lấy xâu con ra, pos(s,s1): lấy vị trí đầu tiên của xâu s xuất hiện trong xâu s1 hoặc là delete 1 phần xâu bất kì mà mình muốn . Bên c++ ko biết có vài hàm như vậy ko? mà nếu có thì #include <bits/stdc++.h> (tập hợp tất cả thư viện c++) cho đỡ kết hợp ko đc ạ?

Chủ thớt toàn nói về C-string. Nói chung cứ vào trang cppreference thôi :slight_smile:

https://en.cppreference.com/w/cpp/string/basic_string/find
https://en.cppreference.com/w/cpp/string/basic_string/erase

2 Likes

Không nên làm vậy. Nếu cần thư viện nào thì bạn gọi thư viện đó.

1 Like

Vì sao ạ, mình newbie nên ko biết?

<bits/stdc++.h> chỉ được hỗ trợ bởi compiler GNU G++, không phải tất cả các compiler đều hỗ trợ. Nói đơn giản, code của bạn không phải đem đi máy nào cũng chạy được.

Đọc thêm:

2 Likes

Với lại preprocessor sẽ tương hết #include đó vào trước khi biên dịch, chạy rất lâu và khó chịu.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?