char my_array [50] = "None";
我想在None前面加一个字符':'使其变成“:None”.
我现在使用的方法实在太蠢了,我自己都看不下去了,我想一个能有什么函数可以直接完成此功能吧。请教一下大家,谢谢!!
14 个解决方案
#1
为什么不用string呢?
string 很方便就能实现
string 很方便就能实现
#2
string str = "None";
str = ":"+ str;
str = ":"+ str;
#3
用CString 也可以
还有也可以用字符连接函数
还有也可以用字符连接函数
#4
这是别人的程序,我修改一下,他原来用的就是char型,我现在修改的方法也是通过string来实现的,不过这样要转成string,然后再转回来。好麻烦,我记得有个什么字符连接函数应该是可以直接实现的,这个函数叫什么名字?
#5
作为内建数据类型,char本身没有提供相应的插入机制,lz要想解决的话就参考一楼的用string库吧
至于CString,MS的东西,好像非标准
至于CString,MS的东西,好像非标准
#6
这个函数叫什么名字?
---------------------
strcat()
---------------------
strcat()
#7
但是该函数好像没法进行转化的
更何况string已经提供了转换机制
更何况string已经提供了转换机制
#8
是啊,刚才看了一下。看来还是只能用string来帮下忙了。 麻烦就麻烦吧。再等等,看看还有没有别人的意见,等下接贴。谢谢各位
#9
my_array = strcat(":",my_array);
#10
loongee的办法九成九会出错(不出错算运气好)。
一种可行的方法是(只插入一个字符):
char my_array [50] = "None";
memmove(my_array + 1, my_array, strlen(my_array));
my_array[0] = ';';
一种可行的方法是(只插入一个字符):
char my_array [50] = "None";
memmove(my_array + 1, my_array, strlen(my_array));
my_array[0] = ';';
#11
memmove(my_array + 1, my_array, strlen(my_array) + 1);
我也错了 -_-||b
我也错了 -_-||b
#12
>>>my_array = strcat(":",my_array);
上面的程序是很危险的,,,因为":"指针一般都存在const数据区,
所以程序的最好结果是core dump。
char my_array [50] = "None";
/*这样*/
ASSERT(sizeof(my_array) >= strlen(my_array) +2 );
memmove(my_array+1, my_array, strlen(my_array) +1);
my_array[0] = ':';
/*如果用C++的话,考虑使用string类来做字符串处理*/
上面的程序是很危险的,,,因为":"指针一般都存在const数据区,
所以程序的最好结果是core dump。
char my_array [50] = "None";
/*这样*/
ASSERT(sizeof(my_array) >= strlen(my_array) +2 );
memmove(my_array+1, my_array, strlen(my_array) +1);
my_array[0] = ':';
/*如果用C++的话,考虑使用string类来做字符串处理*/
#13
milksea(航航 | 啥都不会咋办)说错了~~~~~~~
我的那句不是九成九会出错,而是编译根本就通不过,呵呵!!!
误人子弟了,罪过罪过~~~~~~~~~~~~~~
我的那句不是九成九会出错,而是编译根本就通不过,呵呵!!!
误人子弟了,罪过罪过~~~~~~~~~~~~~~
#14
感谢各位,结贴
#1
为什么不用string呢?
string 很方便就能实现
string 很方便就能实现
#2
string str = "None";
str = ":"+ str;
str = ":"+ str;
#3
用CString 也可以
还有也可以用字符连接函数
还有也可以用字符连接函数
#4
这是别人的程序,我修改一下,他原来用的就是char型,我现在修改的方法也是通过string来实现的,不过这样要转成string,然后再转回来。好麻烦,我记得有个什么字符连接函数应该是可以直接实现的,这个函数叫什么名字?
#5
作为内建数据类型,char本身没有提供相应的插入机制,lz要想解决的话就参考一楼的用string库吧
至于CString,MS的东西,好像非标准
至于CString,MS的东西,好像非标准
#6
这个函数叫什么名字?
---------------------
strcat()
---------------------
strcat()
#7
但是该函数好像没法进行转化的
更何况string已经提供了转换机制
更何况string已经提供了转换机制
#8
是啊,刚才看了一下。看来还是只能用string来帮下忙了。 麻烦就麻烦吧。再等等,看看还有没有别人的意见,等下接贴。谢谢各位
#9
my_array = strcat(":",my_array);
#10
loongee的办法九成九会出错(不出错算运气好)。
一种可行的方法是(只插入一个字符):
char my_array [50] = "None";
memmove(my_array + 1, my_array, strlen(my_array));
my_array[0] = ';';
一种可行的方法是(只插入一个字符):
char my_array [50] = "None";
memmove(my_array + 1, my_array, strlen(my_array));
my_array[0] = ';';
#11
memmove(my_array + 1, my_array, strlen(my_array) + 1);
我也错了 -_-||b
我也错了 -_-||b
#12
>>>my_array = strcat(":",my_array);
上面的程序是很危险的,,,因为":"指针一般都存在const数据区,
所以程序的最好结果是core dump。
char my_array [50] = "None";
/*这样*/
ASSERT(sizeof(my_array) >= strlen(my_array) +2 );
memmove(my_array+1, my_array, strlen(my_array) +1);
my_array[0] = ':';
/*如果用C++的话,考虑使用string类来做字符串处理*/
上面的程序是很危险的,,,因为":"指针一般都存在const数据区,
所以程序的最好结果是core dump。
char my_array [50] = "None";
/*这样*/
ASSERT(sizeof(my_array) >= strlen(my_array) +2 );
memmove(my_array+1, my_array, strlen(my_array) +1);
my_array[0] = ':';
/*如果用C++的话,考虑使用string类来做字符串处理*/
#13
milksea(航航 | 啥都不会咋办)说错了~~~~~~~
我的那句不是九成九会出错,而是编译根本就通不过,呵呵!!!
误人子弟了,罪过罪过~~~~~~~~~~~~~~
我的那句不是九成九会出错,而是编译根本就通不过,呵呵!!!
误人子弟了,罪过罪过~~~~~~~~~~~~~~
#14
感谢各位,结贴