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++的字符串相关操作吃透是件好伟大的事,路慢慢其修远兮。。

 

posted @ 2013-11-20 13:18  xaf_dfg  阅读(490)  评论(0)    收藏  举报