sscanf()中的字符指针

时间:2016-10-27 12:17:56

标签: c arrays string pointers

我可以使用字符指针(char *)作为sscanf()函数中的输出字符串吗?考虑到我不知道字符串的长度(这就是我使用指针的原因)。

char *name;
sscanf(data, "Name:%[^\t\n]", name);

2 个答案:

答案 0 :(得分:0)

你可以用。当参数是一个数组时,数组的基地址被传递给sscanf函数。将指针传递给sscanf与传递数组名称(数组基地址)一样好。

答案 1 :(得分:0)

是的,您可以使用char指针从另一个字符串中提取字符串,但此char-pointer应分配足够的空间。

  

格式说明符应以一个说明符结尾(这里缺少's'表示   字符串)。

char name[MAX_LENGTH+1]; // allocate enough characters

sscanf(data, "%[^\t\n]s", name);