2011-06-14 93 views
-1

我有 char * data; 其中有一个缓冲区转储到它。我想查看这个char *的内容。我不知道这个指针数据的大小,所以如何打印它?谢谢打印指针值

+3

1)你应该添加'家庭作业'标签。 2)显示你的代码,包括变量声明,'char *'是如何声明和初始化的。 3)展示你迄今为止所尝试的不起作用,解释你期望它做什么以及为什么它没有按照你的预期去做。 4)听@Luzhin并接受一些答案。如果你不想通过尊重它的工作方式来参与社区,也许你应该在其他地方寻找帮助。谢谢。 – 2011-06-14 22:57:06

+0

我检查了您建议的链接,但我的屏幕上没有看到任何接受按钮?! – kiran 2011-06-14 23:43:51

+0

看看你的问题的答案。在左上角,您会看到投票计数。在此之下,您会看到复选标记的大纲 - 单击该复选标记可将问题标记为已接受(将以绿色填充)。您还可以通过点击投票计数上方和下方的箭头来投票(上面是upvote,下面是downvote)。 – 2011-06-14 23:59:11

回答

3

假设char*NUL-终止,请使用printf("%s\n",data);

如果数据不是NUL终止,这可能会导致分段错误。

如果您的数据的格式不是ASCII字符,您需要编写一些代码来打印它。

+6

请不要回答非问题,特别是那些看起来像是在尝试做作业答案的人。它阻止了他们学习如何提问,如何真正尝试自己想出问题,并且意味着实际上**学**的人最终会维护他们以后所做的混乱。回答这样的问题不过是试图以阻止他们的教育为代价获得代表权。 – 2011-06-14 23:00:01

+1

@Ken你好我是C的初学者。对不起,我不清楚我的问题。我并没有试图完成一项家庭作业,我正在通过自己在线学习这门语言,而且我正在家中尝试一些代码以更好地理解它。谢谢你的关心......我会记住只问有价值的问题。另外我无法看到我的屏幕上的任何接受按钮,如链接所示,你可以帮我。我将非常乐意使用标准。谢谢你的时间 – kiran 2011-06-14 23:46:51

+0

@kiran:并不是你没有发布“有价值”的问题;这是你没有发布完整或可回答的问题。你没有提供足够的信息来让别人回答,或者显示你实际上已经试图自己弄清楚自己。如果你不愿意付出任何努力,你为什么期望别人这样做? – 2011-06-15 00:01:11