这里我给出了像"/org/bluez/1509/hci0"
我想要输出/org/bluez/1509/hci0
这里我使用这种方法,但我得到了分段错误。
void main ()
{
char *str = "\"/org/bluez/1509/hci0\"";
int len = strlen(str);
printf("\nlength %d\n",len);
char *str1;
str1 = str+1;
printf("String 1 = %s\n",str1);
*(str1+ (strlen(str)-2)) = '\0';
printf("\nString 1 = %s\n",str1);
}
我正在获得这样的输出
length 22
String 1 = /org/bluez/1509/hci0"
Segmentation fault
最后一个问题的问题。
任何人都可以帮助我或建议我新的方式。?
答案 0 :(得分:4)
使用
char str[] = "\"/org/bluez/1509/hci0\"";
而不是指针。指针只“指向”不可修改的字符串文字。您可以阅读有关此in this question以及大量其他类似内容的详情。它甚至在c-faq中,看看它!