• char*,const char*,string 转换 读文件


    http://www.programfan.com/blog/article.asp?id=16880  (关于string的函数)

    http://hi.baidu.com/jiangyangw3r/item/a510cc24771bb34646996298   (关于char*的操作)

    p1、c++文件 读取 直到 某 特定字符:

    int pos=s.find_first_of("p");

    s.erase(pos);

     p2、how to convert string to const char*?: http://blog.sina.com.cn/s/blog_5436b2f40100pjzz.html

    1. string转const char*

       string s = "abc";

       const char* c_s = s.c_str();

    2. const char*转string

       直接赋值即可

       const char* c_s = "abc";

       string s(c_s);

    3. string转char*

       string s = "abc";

       char* c;

       const int len = s.length();

       c = new char[len+1];

       strcpy(c,s.c_str());

    4. char*转string

       char* c = "abc";

       string s(c);

    5. const char*转char*

       const char* cpc = "abc";

       char* pc = new char[100];//足够长

       strcpy(pc,cpc);

    6. char*转const char*

       直接赋值即可

       char* pc = "abc";

       const char* cpc = pc;

    p3、如何把string str=""; 与 char c='c'; 连接成一个新字符串:

    p4、截取字符串的最后3个字符:

    1.string

    2.char*

    p5、:

    char*l1="";// l1 是一个指针,指向的字符串在常量区,不可以改;

    char c='c';

    char *cc=&c;

    strcat(l1,cc);//访问内存异常

    http://blog.csdn.net/habit2/article/details/4331804  (char* 与char[] 的区别)

    char* p="hello";//p是指向常量字符串的指针。初始化后,p的内容不可变,但指针可变,即p="dffg"(正确,指向“dffg”的指针);但*(p+2)="w"(错误,内容不可改)。相当于 const char *p="hello";

    char pp[]="world";//pp是一个指针常量,数组本身分配了静态内存,即地址不可变(本身不可变),但是内置上的内容可以变。相当于char const *pp="world"(???这句不明白)

    p6、string user;

      ifstream infile("***");

      infile>>user;

    string sqls="select count(distinct(url)) from question_list inner join answer_list on question_url=url where asker=""+user+"" and answer_name=""+verl[j].first+""";//这句话gbd出错:0xb7c5d1ba in std::string::append(std::string const&) ()
       from /usr/lib/i386-linux-gnu/libstdc++.so.6

    p7、string  ,int作为参数的问题。

    pair<string,int>  fun()

    {

    pair<string,int> pp;

    string s="a";

    return pp(s,1);

    }

    这段程序会报错:no match for call to ‘(std::pair<std::basic_string<char>, int>) (std::string&, int)’
    : no match for call to ‘(std::pair<std::basic_string<char>, int>) (std::basic_string<char>&, int&)’

    std::string::assign(std::string const&) ()   发现 能把c++的字符串相关操作吃透是件好伟大的事,路慢慢其修远兮。。

  • 相关阅读:
    linux系统sed命令输出匹配字符的行及其后若干行
    linux系统中统计每一行的字符数
    linux系统中sed复合命令
    [转载]J2EE程序员应该掌握的Linux系统的知识
    [转载]Linuz常用命令(1)
    [转载]J2EE程序员应该掌握的Linux系统的知识
    [转载]Linuz常用命令(1)
    [转载]Oracle常用函数大全
    [转载]Linuz常用命令(1)
    [转载]Linux常用命令(2)
  • 原文地址:https://www.cnblogs.com/xaf-dfg/p/3399592.html
Copyright © 2020-2023  润新知