کپی کردن ۲ رشته در درون هم - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

کپی کردن ۲ رشته در درون هم

+1 امتیاز

سلام.من با کلاس string زیاد آشنایی ندارم.می خواستم نحوه ی استفاده از چند تا متد های مهمش به خصوص copy رو بدونم.من با وجود اینکه stirng رو include می کنم ولی باز این قسمت برنامه اررو میده.


#include <iostream>
using namespace std;
#include <string>
data=string.copy(s);
/////////////ya
data(s);

 

سوال شده اسفند 25, 1392  بوسیله ی maryam (امتیاز 338)   12 33 44
دوباره تگ گذاری شد اسفند 26, 1392 بوسیله ی BlueBlade
نوع داده data چی هستش ؟ string ؟
می خواهید 2 تا string رو  مثلا کپی کنین داخل هم ؟
data و s هردو string هستند.می خوام  s رو داخل data کپی کنم

1 پاسخ

+3 امتیاز
 
بهترین پاسخ

اگر کل رشته رو می خواهید کپی کنید به راحتی میتونین از = استفاده کنین

    string a="abcde";
    string b=a;

 

اگر قسمت خاصی از رشته رو می خواهید توی یک رشته دیگه کپی کنید از std::copy  موجود در هدر algorithm استفاده کنین . یا از copy داخل کلاس string .

#include <string>
#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    string a="abcde";
    string b="1122";

    std::copy(a.begin()+1,a.end()-2,b.begin()+2);
    cout<<b;// khorooji 11bc
}

 

اگر رشته رو میخواهید بین یک رشته دیگه قرار بدین از insert استفاده کنین .

کد از  string::insert

#include <iostream>
#include <string>

int main ()
{
  std::string str="to be question";
  std::string str2="the ";
  std::string str3="or not to be";
  std::string::iterator it;

  // used in the same order as described above:
  str.insert(6,str2);                 // to be (the )question
  str.insert(6,str3,3,4);             // to be (not )the question
  str.insert(10,"that is cool",8);    // to be not (that is )the question
  str.insert(10,"to be ");            // to be not (to be )that is the question
  str.insert(15,1,':');               // to be not to be(:) that is the question
  it = str.insert(str.begin()+5,','); // to be(,) not to be: that is the question
  str.insert (str.end(),3,'.');       // to be, not to be: that is the question(...)
  str.insert (it+2,str3.begin(),str3.begin()+3); // (or )

  std::cout << str << '\n';
  return 0;
}

 

پاسخ داده شده اسفند 25, 1392 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
انتخاب شد اسفند 25, 1392 بوسیله ی maryam
چطور می تونم نوع داده ی const int رو به string تبدیل کنم.از چه تابعی باید استفاده کنم.و اگر بخوام const string& s رو به int تبدیل کنم چی؟از  tostring هم استفاده کردم ولی چون پارامترش int نیست ارور داد.از template هم نمشه استفاده کنم.
to_string  و stoi ورودی const هم قبول می کنن .
  کامپایلرتون چیه ؟ visual studio  ؟
string رو include کردین ؟
2 تا روش دیگه هم تو این تاپیک اضافه کردم اگر اون بالایی ها  به هردلیلی کار نکردن  از اونا استفاده کن .
http://goo.gl/TTX4MU
من با ویژوال استودیو کار میکنم.منظورم از اینکه نمیشه از template استفاده کنم اینه که نمی خوام از اون استفاده کنم.چون هنوز بهش نرسیدیم.فک کنم برنامه ی من جای دیگه گیر داره که to-string و stoi ارور داره.string روهم include  کردم.این سوالا رو برای کلاس bignumber پرسیدم.ببخشید اگه خیلی اذیتتون کردم.شرمنده
خواهش می کنم .
آره احتمالا مشکل از جای دیگست stoi , to_string مشکلی ندارن .
...