【问题标题】:How to Return The Address of String(As Char Pointer)如何返回字符串的地址(作为字符指针)
【发布时间】:2020-07-27 09:03:15
【问题描述】:

我的文件每行只包含 1 个单词(最多 20 个字符),它也有 100 行。我正在尝试从文件中读取随机行,并将其放入 char *str 这个随机字符串中。我需要地址使用稍后读取的字符串的单词(因为之后我将在二维数组中打印它(如单词拼图)。 我应该如何返回他们的地址或者需要什么才能在不同的函数中打印它?你能告诉我一个例子吗,我正在搜索它大约 1 天从文件中读取随机单词,但仍然没有得到启发。

char read(char *file, char *str);
return (char *)str;

没有像我预期的那样工作有警告是

从返回类型为“char”的函数中返回“char *”会在不进行强制转换的情况下从指针生成整数。

【问题讨论】:

  • 你为什么大喊大叫?

标签: c arrays string 2d return-type


【解决方案1】:

首先,用户自定义函数不要与库函数同名,read()是众所周知的POSIX库函数。

也就是说,错误(或警告)消息非常清楚,存在类型不匹配。要返回char *,您需要有一个返回类型为char * 的函数。定义以char *为返回类型的函数,如

char * my_read (.....

而不是

char my_read (.....

【讨论】:

  • 谢谢你,我明白了。除了返回 char 指针之外还有其他方法吗(比如只返回 char 数组并在另一个函数中使用它的内容(字符串))
猜你喜欢
  • 1970-01-01
  • 2021-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-24
  • 2013-09-27
相关资源
最近更新 更多