PDA

View Full Version : سوال: عملکرد تابع ;()c_str ؟؟؟؟



...StacK...
چهارشنبه 23 بهمن 1387, 04:13 صبح
سلام دوستان -لطفا به کد زیر نگاه کنید:




// xpl.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
string var;
cout<<"enter your string:";
getline(cin,var);
const char *cs;
cs=var.c_str();
if (cs==var)
cout<<"\n ***************OK***************";
cin.get();
return 0;
}



میخواستم بدونم تابع ()c_str دقیقا چه کاری انجام میده و چه مصارفی داره؟؟؟

در کد بالا مثال بر اینکه ما رشته var رو به یک رشته از نوع کاراکتری تبدیل کرده باشیم,

cs اینجا چه نقشی رو ایفا میکنه؟؟؟ ایا به رشته var اشاره میکنه؟؟؟

این که نشد رشته کاراکتری .!!! چون ما نمیتونیم یک رشته کاراکتری رو با عملگرهایی

نظیر == استفاده کنیم ولی cs این امکان رو داره....دلیل چیه؟؟؟؟

و بازم تاکید میکنم عملکرد این تابع رو توضیح بدید که مثلا یه ادرس جدید رو میگیره

و رشته رو داخلش میریزه..و ادرسش رو بر میگردونه ؟؟؟ و یا....؟؟؟؟