展开

关键词

C++ 一个例子说明.c_str()函数

C与C++本身就是一家,为了让它们在一定程度上可以通用,就有了.c_str()函数。 int num = atoi(str.c_str()); cout<<num<<endl; getchar(); return 0; } 就是在string类型的str后面加上了.c_str ()函数,这也就是.c_str()的作用: .c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同。 因为string类本身只是一个C++语言的封装,其实它的string对象内部真正的还是char缓冲区,所以.c_str()指向了这个缓冲区并返回const。 const _Elem *c_str() const { // return pointer to null-terminated nonmutable array

80960

C++ 一个例子说明.c_str()函数

C与C++本身就是一家,为了让它们在一定程度上可以通用,就有了.c_str()函数。 123"; int num = atoi(str.c_str()); cout<<num<<endl; getchar(); return 0; } 就是在string类型的str后面加上了.c_str ()函数,这也就是.c_str()的作用: .c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同。 因为string类本身只是一个C++语言的封装,其实它的string对象内部真正的还是char缓冲区,所以.c_str()指向了这个缓冲区并返回const。 const _Elem *c_str() const { // return pointer to null-terminated nonmutable array return (_Myptr

6530
  • 广告
    关闭

    什么是世界上最好的编程语言?丨云托管征文活动

    代金券、腾讯视频VIP、QQ音乐VIP、QB、公仔等奖励等你来拿!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    题目1003:A+B ---c_str(),atoi()函数的使用;remove , erase函数的使用

    list<int>::iterator end = remove (coll.begin(), coll.end(),  3);  coll.erase (end, coll.end()); c_str ()的用法: 语法: const char *c_str(); c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。 ,因为s对象被析构,其内容被处理 应该这样用: char c[20]; string s="1234"; strcpy(c,s.c_str()); 这样才不会出错,c_str()返回的是一个临时指针 ,不能对其进行操作 再举个例子 c_str() 以 char* 形式传回 string 内含字符串 如果一个函数要求char*参数,可以使用c_str()方法: string s = "Hello

    378100

    C++ String 与 char* 相互转换

    一、string->char* 1、将string转char*,可以使用string提供的c_str()或者data()函数。 其中c_str()函数返回一个以'\0'结尾的字符数组,而data()仅返回字符串内容,而不含有结束符'\0'。 2、const char* c_str(); c_str()函数返回一个指向C字符串的指针,该指针指向内存内容和string 相同。 因为c语言不支持string类型,故为了在c++兼容C字符串,提供了c_str()函数来实现转换。 注意一定要使用strcpy()函数来操作c_str();c_str()返回的是一个临时指针,不能对其进行操作。

    13.3K20

    文件锁flock、lockf和fcntl区别测试程序

    ()); sleep(2); printf("[%u][%s] to lock\n", pthread_self(), now().c_str()); const char* NULL; } void* thread2(void* param) { printf("[%u][%s] to lock\n", pthread_self(), now().c_str() ()); sleep(2); printf("[%u][%s] to lock\n", getpid(), now().c_str()); int fd printf("[%u][%s] unkock and exit\n", getpid(), now().c_str()); exit(0); } pid_t pid2 sleep(6); unlock(fd); printf("[%u][%s] unkock and exit\n", getpid(), now().c_str());

    75710

    PHP实现函数内修改外部变量值的方法示例

    <br "; $c_str = 'ab'; function change_val_2(&$c_str){//引用调用 //$c_str = 'abc'; $c_str = $c_str.' abc'; } echo $c_str."<br "; change_val_2($c_str); echo $c_str."

    18931

    protobuf 序列化到文件及反序列化

    std::ios::out | std::ios::binary | std::ios::app); std::fstream& output = OpenFile(sstrNameTmp.str().c_str ); } //output.close(); LOG_DEBUG(0, 0, "write record|%lu|%s", msgReq.game_id(), sstrNameTmp.str().c_str ()); if (msgReq.finish()) { CloseFile(sstrNameTmp.str().c_str()); rename(sstrNameTmp.str().c_str ), strLogName.c_str()); LOG_DEBUG(0, 0, "rename|%lu|%s|%s", msgReq.game_id(), sstrNameTmp.str().c_str ; recHead.ParseFromArray(writebuff, HeadSize ); DEBUG("RecordHead: %s", recHead.ShortDebugString().c_str

    65610

    将string当字节流使

    ), str3.size()); string str5 = str4;; string str6; str6 = str4; printf("%u:%s\n", str1.size(), str1.c_str ()); printf("%u:%s\n", str2.size(), str2.c_str()); printf("%u:%s\n", str3.size(), str3.c_str()); printf ("%u:%s\n", str4.size(), str4.c_str()); printf("%u:%s\n", str5.size(), str5.c_str()); return 0; } 运行后输出为

    22130

    c++ 实现hashmap

    ("welcome", "haha"); cout << "after insert:" << endl; cout << hashmap.find("welcome").c_str () << endl; cout << hashmap.find("c++").c_str() << endl; cout << hashmap["why"].c_str() << endl ; cout << hashmap["hello"].c_str() << endl; if (hashmap.del("hello")) cout << "remove is ok" << endl; //remove is ok cout << hashmap.find("hello").c_str() << endl; //not exist print NULL hashmap["why"] = "love"; cout << hashmap["why"].c_str() << endl; return 0; }

    1.9K50

    蓝桥杯之趣味算式

    { if(c==' ') { sum += atoi(str.substr(index,i-index).c_str } else if(c == '+') { x = atoi(str.substr(index,i-index).c_str x; } else { x = atoi(str.substr(index,i-index).c_str } } if(c == '+') { x = atoi(str.substr(index,i-index).c_str x; } else { x = atoi(str.substr(index,i-index).c_str

    34520

    MySQL - MySQL++在c++11环境下接口设计

    = res.end(); ++rit) 122 { 123 databases.push_back((*rit)[0].c_str()); 124 { 138 mysql_field_info field_i; 139 140 field_i.Field = res[i]["field"].c_str (); 141 field_i.Type = res[i]["type"].c_str(); 142 field_i.Null = res[i]["null" ].c_str(); 143 field_i.Key = res[i]["key"].c_str(); 144 field_i.Default = res[i][ "default"].c_str(); 145 field_i.Extra = res[i]["extra"].c_str(); 146 147 tbl_info.push_back

    520100

    MySQL - MySQL++在c++11环境下接口设计

    = res.end(); ++rit) 122 { 123 databases.push_back((*rit)[0].c_str()); 124 { 138 mysql_field_info field_i; 139 140 field_i.Field = res[i]["field"].c_str (); 141 field_i.Type = res[i]["type"].c_str(); 142 field_i.Null = res[i]["null" ].c_str(); 143 field_i.Key = res[i]["key"].c_str(); 144 field_i.Default = res[i][ "default"].c_str(); 145 field_i.Extra = res[i]["extra"].c_str(); 146 147 tbl_info.push_back

    30550

    VL53L0X激光测距传感器.Mind+使用篇

    vl53l0x.Continuous); } void loop() { Serial.write((String(vl53l0x.getDistance()) + String("mm")).c_str 这个地方是打印测量的结果,用string强行转换了类型 https://blog.csdn.net/qq_33375598/article/details/88045851 const char *c_str (); c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。 1.c_str是一个内容为字符串指向字符数组的临时指针; 2.c_str返回的是一个可读不可改的常指针; 注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针 ?

    55130

    mysql++ 自带的一些精巧演示例子

    = res.end(); ++i) {   row = *i;   // 可以使用 列的位置或者 名称来 显示   cout << setw(20) << row[0].c_str() <<    setw (9) << row[1].c_str() <<    setw(9) << row.lookup_by_name("weight").c_str() <<    setw(9) << row[3].c_str

    98450

    Linux 下通过ping判断机器有没有外网。(不用root)

    ~IMPL() { printf("[%s] CheckForExtranet::IMPL::~IMPL() +++ \n", GetLogPrev().c_str myLoop() { printf("[%s] CheckForExtranet::IMPL::_myLoop() +++ \n", GetLogPrev().c_str cmd += fileNameTemp; printf("[%s] Start ping:%s cmd:[%s] ++++ \n", GetLogPrev().c_str state = 1; printf("[%s] ReadInfo:%s packetLoss:%d state:%d\n", GetLogPrev().c_str milliseconds(10)); printf("[%s] End ping:%s state:%d ---- \n", GetLogPrev().c_str

    5730

    C++中字符串匹配算法strstr()函数用法

    中第一次出现的位置     string str3 = "abcdefgdas";     string str4 = "efg";     const char* p2 = strstr(str3.c_str (), str4.c_str());     cout << p2 - str3.c_str() << endl;      //输出str4在str3中第一次出现的位置     return 0;

    1.2K20

    java JNI简介

    jstring JNICALL Java_HelloWorld_sayHello (JNIEnv *env, jclass cls, jstring j_str){ const char *c_str = NULL; char buff[128] = {0}; c_str = (*env)->GetStringUTFChars(env,j_str,NULL); if (c_str NULL) { printf("out of memory\n"); return NULL; } printf("Java Str:%s\n", c_str ); sprintf(buff,"hello %s",c_str); (*env)->ReleaseStringUTFChars(env,j_str,c_str); return

    28520

    C++设计模式 - 策略模式

    \n", cost, theShop.GetUserDesc().c_str(), theShop.GetCurrentDiscountRate \n", cost, theShop.GetUserDesc().c_str(), theShop.GetCurrentDiscountRate \n", cost, theShop.GetUserDesc().c_str(), theShop.GetCurrentDiscountRate \n", cost, theShop.GetUserDesc().c_str(), theShop.GetCurrentDiscountRate \n", cost, theShop.GetUserDesc().c_str(), theShop.GetCurrentDiscountRate

    9820

    将IP地址字符串分割成数组

    ,nowPos)) { if (string::npos == OppPos) { iIp[i] = atoi(strIpAdd.substr(nowPos).c_str()); break; } iIp[i] = atoi(strIpAdd.substr(nowPos,OppPos - nowPos).c_str()); nowPos = OppPos + 1; ,则执行这一句:  iIp[i] = atoi(strIpAdd.substr(nowPos,OppPos - nowPos).c_str());     substr这个方法作用是获得子串,获取从索引 获得了子串之后我又用了子串的c_str()方法。这个方法作用是将string转换成char * 类型。因为我们需要把"192"转换成数字192,需要用到atoi函数。 时,进入到这个if语句,但其实iIp[3]还没有赋值,所以iIp[i] = atoi(strIpAdd.substr(nowPos).c_str());是为了把最后一个数字放到iIp[3]中。

    47520

    相关产品

    • 云服务器

      云服务器

      云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。 腾讯云服务器(CVM)为您提供安全可靠的弹性云计算服务。只需几分钟,您就可以在云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券