2010-03-23 21 views

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