首页 > 解决方案 > 如何返回字符串的地址(作为字符指针)

问题描述

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

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

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

从返回类型为 'char' 的函数返回 'char *' 从指针生成整数而不进行强制转换。

标签: carraysstring2dreturn-type

解决方案


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

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

char * my_read (.....

代替

char my_read (.....

推荐阅读