Làm cách nào để nhận được một phần của chuỗi trong C++? Tôi muốn biết các yếu tố từ 0 đến i là gì.Làm cách nào để nhận được một phần của chuỗi trong C++?
8
A
Trả lời
15
Bạn muốn sử dụng std::string::substr
. Dưới đây là một ví dụ, không biết xấu hổ sao chép từ http://www.cplusplus.com/reference/string/string/substr/
// string::substr
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str="We think in generalities, but we live in details.";
// quoting Alfred N. Whitehead
string str2, str3;
size_t pos;
str2 = str.substr (12,12); // "generalities"
pos = str.find("live"); // position of "live" in str
str3 = str.substr (pos); // get from "live" to the end
cout << str2 << ' ' << str3 << endl;
return 0;
}
2
Bạn sử dụng substr
, tài liệu here:
#include <iostream>
#include <string>
using namespace std;
int main(void) {
string a;
cout << "Enter string (5 characters or more): ";
cin >> a;
if (a.size() < 5)
cout << "Too short" << endl;
else
cout << "First 5 chars are [" << a.substr(0,5) << "]" << endl;
return 0;
}
Bạn cũng có thể sau đó đối xử với nó như là một chuỗi C-style (không thay đổi được) bằng cách sử dụng c_str
, tài liệu here.
1
nếu u có nghĩa là chuỗi là một mảng ký tự,
char str[20];
int i;
strcpy(str,"Your String");
//Now lets get the substr
cin>>i;
// do some out-of-bounds validation here if u want..
str[i+1]=0;
cout<<str;
nếu u có nghĩa là chức năng substr std::string
sử dụng .. như Will đề nghị
1
Giả sử bạn đang sử dụng lớp C++ std::string
bạn có thể làm:
std::string::size_type start = 0;
std::string::size_type length = 1; //don't use int. Use size type for portability!
std::string myStr = "hello";
std::string sub = myStr.substr(start,length);
std::cout << sub; //should print h
0
sử dụng:
std::string sub_of_s(s.begin(), s.begin()+i);
mà tạo ra một chuỗi sub_of_s
đó là lần đầu tiên i-th
các phần tử trong s
.
Các vấn đề liên quan
- 1. In một phần của chuỗi trong C
- 2. Làm cách nào để nhận được độ dài của một chuỗi trong Perl?
- 3. Làm cách nào để nhận được ID phần cứng nhanh chóng trong C#?
- 4. Sao chép một phần của chuỗi trong C
- 5. Làm cách nào để nhận được "khóa" của danh sách trong ứng dụng C# winforms?
- 6. Làm cách nào để nhận được độ mờ của một phần tử sử dụng Javascript?
- 7. C# chứa một phần của chuỗi
- 8. Làm thế nào để nhận được giá trị của một chuỗi chữ trong LLVM IR?
- 9. Để có được một phần cụ thể của một chuỗi trong C#
- 10. Trong C++, làm thế nào để tôi nhận được chỉ mục int của một trình lặp?
- 11. Làm cách nào để nhận được các phần tử x đầu tiên của NSArray trong Cocoa?
- 12. Làm cách nào để lấy phần cuối của chuỗi?
- 13. Làm cách nào để tìm chỉ mục của một ký tự trong một chuỗi trong C?
- 14. Làm thế nào để nhận được các giá trị byte của một chuỗi trong PHP?
- 15. C# Làm cách nào để đếm các chuỗi được quản lý trong AppDomain của tôi?
- 16. Làm cách nào để nhận được các phần khác nhau của url của yêu cầu Flask?
- 17. Làm thế nào để tôi nhận được tên quy trình của một cổng mở trong C#?
- 18. Làm cách nào để "cắt" một phần của chuỗi bằng regex?
- 19. Làm thế nào để tìm sự xuất hiện của một chuỗi trong chuỗi trong C + +?
- 20. Làm cách nào để nhận được url đầy đủ của trang tôi đang ở trong C#
- 21. Làm cách nào để nhận chuỗi được chọn từ một hộp văn bản Tkinter?
- 22. Làm thế nào tôi có thể nhận được các bit từ một chuỗi trong C#?
- 23. Làm thế nào để nhận được nếu một chuỗi là một số trong T-SQL
- 24. Làm cách nào để sao chép một phần của mảng sang mảng khác trong C++?
- 25. làm thế nào để lấy một phần của một chuỗi trong java?
- 26. JS trên SVG - nhận được innerHTML của một phần tử
- 27. Làm thế nào để cho Ruby Mechanize nhận được một trang sống trong một chuỗi
- 28. làm cách nào để bạn thêm một ký tự LINE MỚI trong phần chuỗi của một ActionLink?
- 29. Làm cách nào để có được nội dung hiện tại của một phần tử trong webdriver
- 30. Làm cách nào để nhận được URL thực tế một cách đáng tin cậy, ngay cả khi có các phần được mã hóa phần trăm trong đường dẫn?
Xem tham chiếu: http://www.sgi.com/tech/stl/basic_string.html –