LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 798|回复: 3

gtk编程的一个问题:字符串操作

[复制链接]
发表于 2004-12-29 21:46:28 | 显示全部楼层 |阅读模式
gtk编程的一个问题:字符串操作

我想把两个字符串合并为一个字符串。请问有什么好办法?

我编写了一个程序,编译没问题,但一运行就退出。

程序使用了strcat函数。

#include <string.h>
char *str1, *str2;
str1="aaaad";
str2="ddddd";
strcat(str1,str2);

什么问题呢?真是奇怪。

有什么方法把 GString的数据类型转换为 char 或  gchar
发表于 2004-12-29 22:00:34 | 显示全部楼层
Post by cuigf
gtk编程的一个问题:字符串操作

我想把两个字符串合并为一个字符串。请问有什么好办法?

我编写了一个程序,编译没问题,但一运行就退出。

程序使用了strcat函数。

#include <string.h>
char *str1, *str2;
str1="aaaad";
str2="ddddd";
strcat(str1,str2);

什么问题呢?真是奇怪。

有什么方法把 GString的数据类型转换为 char 或  gchar


str1指向的地址是只读的,往里面写东西肯定会挂掉。
必须确保strcat的目标地址是可写的并且有足够的空间容纳合并后的字符串,比如:
char* str3 = malloc(strlen(str1) + strlen(str2) + 1); // 多加个字节是为了放'\0'
strcpy(str3, str1);
strcat(str3, str2);
 楼主| 发表于 2004-12-30 19:24:44 | 显示全部楼层
楼上的兄弟多谢了!
发表于 2005-1-4 09:33:19 | 显示全部楼层
gtk编程时用g_string系列函数比较方便,比如你的问题可以用g_string_append解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表