如何将指针赋给string变量?

在使用strtok分离字符串时(例如:abc def),返回的是指向abc的指针,现在我想将abc赋给一个string变量,怎么做呢?直接将指针赋值会报错,高手指教一下吧~

第1个回答  2010-05-10
char *p="abc";
string c=p;
这样的语句不会有错呀,我用的VS2005,没有问题。
你会不会是strtok函数的反回类型不兼容出的错呀,你要反回string变量,就应该这样
string strtok(...) //这里把char *改为string
{char *p="abc"; string c=p; return c; } //程序自已实现本回答被提问者采纳
第2个回答  2010-05-09
strtok 返回的是 char * 类型的指针,
可以付给同类型的 string 变量

比如
char stringa;
stringa=srtock(s,d);
第3个回答  2010-05-09
取出指针的值再赋试试
例如
char *a = abc;//abc是指"abc"的指针
string str = *a;
第4个回答  2010-05-09
用format试试

C++中如何把一个数组赋值给一个字符串变量问题,(考考你哦),。_百度知 ...
用指针赋值,直接给那个要赋值的字符串类型的数组要赋值的指针,只要类型兼容就可以操作。

string字符串赋值?
分别是:(1)申请了空间(在常量区),存放了字符串。(2)在字符串尾加上了“\\0”。(3)返回地址。这里所返回的地址就赋值给了char*类型的指针变量p。通过字符数组直接把字符串赋值。c++编程问题,string类型怎么赋值,怎么引用1、给字符数组赋值分两种情况,单字符赋值和字符串赋值。2、在C语言中...

C++把一个字符串用指针赋值给另一个字符串
include<string> using namespace std;int main(){ char s[]="asdfghjk",b[20];strcpy(b,a);\/\/直接使用字符串拷贝就可以了 cout<<b;return 0;} 如果是char b = a的话只是把a和b所指向的内存一样,如果修改了a的值则b的值也会同时进行修改。如果是 for(int i=0;i<20;i++)(b+i)...

C语言赋值语句char* p=" string";
C语言赋值语句 char*p="string" ;是定义指针变量,并进行指针变量初始化的标准格式,没有错误。该语句相当于以下两句:char *p ; \/\/定义指针变量,未初始化 p="string" ; \/\/p指向string所在的地址,即:p中存储的是"string"串的首地址。是指针变量取地址中的数据运算符:p == 's' ; \/\/*...

为什么给string对象赋值时把字符指针赋给字符串对象这种方法更常用?
在字符指针赋值的时候会调用赋值 构造函数 ,直接赋值调用的是构造函数,字符指针赋值比直接给string对象更多元化,直接赋值说明已经确定字符串的内容了

怎样将指针所指的字符串赋给字符数组?
1、strcpy 语法格式: strcpy(目标地址,源地址)此例语法:strcpy(b,p);将源地址后的字符逐一复制到目标地址中,直到遇到结束符,如果源串中不含结束符就会造成目标数组越界。2、strncpy 语法格式:strncpy(目标地址,源地址,字符长度)此例语法:strncpy(b,p,10);将源地址开始前n个(指定字符长度)...

指针变量赋值有哪几种方式?
指针变量赋值有三种方式:int i1、i2以及i3。1、nt *p1=&i1,*p2=i2; 用整形变量的地址给基类型为整形的指针变量赋值。2、p1=&i3; 给指针变量赋予变量的地址。3、p1=p2; 通过指针变量给指针变量赋值。存放地址的变量称为指针变量。指针变量是一种特殊的变量,它不同于一般的变量,一般变量...

C语言,第一怎么把一个字符串赋给一个指针变量可以吗,像图上那么赋吗...
在C语言中,字符串常量实质是字符数组,并且它存储在静态区(不可修改)。当字符串常量作为右值(也只能作为右值)时,它的值其实就是这个字符数组的第一个字符的地址。所以,把一个字符串常量赋值给一个字符指针,就是把这个字符串的第一个字符的地址赋值给这个指针变量。

c++中,string类型的变量是做指针类型来处理的么
不完全一样,string类重载了很多运算符,使得他的行为和字符串很相似,但是两者并不是一个类型。string s1;char*s2 =new...;前者是string对象,后者是char指针。简单举两个例子:strcpy (s1,s2);\/\/错,strcpy函数只能接受char *\/const char *的参数,string类并没有设置从string到char *的转换...

C如何将一个指针的值赋给另一个指针
就是ch1=ch2即可,如果一定要拷内容的话只能将ch1定义为数组或是动态分配内存,现在的ch1所指的是只读内容,不可能修改的。

相似回答
大家正在搜