2011-10-19 2 views
0

특정 접두어로 시작하는 특정 길이의 문자열을 구성해야합니다. 다음 코드 조각의 목적을 달성하기 위해 더 빠른 방법 ( 성능면에서 )이 있습니까? 여기에 char*을 사용하면 도움이 될까요?특정 접두어로 시작하는 특정 길이의 문자열 구성

int strLen = 15; 
string prefix = "1234"; // could be a number of any length less than strLen 
int prefixLen = prefix.length(); 
string str = prefix; 
for(int i=0;i<strLen-prefixLen;i++) 
{ 
    str.append("9"); // use character '9' as filler 
} 
printf("str: %s \n", str.c_str()); 

샘플 접두사와 출력은 :

prefix: 123, str: 123999999999999 
prefix: 1234, str: 123499999999999 

이 코드에서 변경하지 않으려는 유일한 것은 string을 유지해야 'prefix'의 유형입니다.

답변

3

이 시도하는 데 도움 :

std::string content(15, '9'); // start off with all 9s 
content.replace(0, 4, "1234"); // replace the first four characters etc. 
1

이 시도 :

unsigned strLen(15); 
std::string prefix("1234"); 
prefix += std::string(strLen - prefix.length(), '9'); 
2
int StrLength = 15; 
    string PreFix = "1234"; 
    string RestOfStr(StrLength - PreFix.length(), '9'); 
    cout << PreFix << RestOfStr << endl; 

문자열 클래스는 오버로드 된 생성자가, 크기와 문자를 복용. 생성자는 시대의 문자 반복 X 금액으로 채워진 문자열 객체를 생성합니다

희망이

관련 문제