c - 如何返回字符串的地址(作为字符指针)
问题描述
我的文件每行只包含 1 个单词(最多 20 个字符),它也有 100 行。我正在尝试从文件中读取随机行,并将其放入 char *str 这个随机字符串中。我需要单词的地址使用稍后读取的字符串(因为在我将其打印在 2d 数组中(如拼字游戏)之后。我应该如何返回他们的地址或需要什么才能在不同的函数中打印它?你能给我看一个例子吗,我是搜索它大约 1 天从文件中读取随机单词,但仍然没有得到启发。
char read(char *file, char *str);
return (char *)str;
没有像我预期的那样工作有警告是
从返回类型为 'char' 的函数返回 'char *' 从指针生成整数而不进行强制转换。
解决方案
首先,不要使用与库函数同名的用户定义函数,read()
是众所周知的POSIX库函数。
也就是说,错误(或警告)消息非常清楚,存在类型不匹配。要返回 a char *
,您需要有一个返回类型为 的函数char *
。定义具有char *
作为返回类型的函数,例如
char * my_read (.....
代替
char my_read (.....
推荐阅读
- django - django-jinja href 没有下载文件
- android - 如何使用 Intent 在 android TV 上启动 amazon prime video 应用程序
- javascript - 声纳中的coverage_exclusions与排除有什么区别?
- perl - 逐行比较两个日志文件并打印差异
- c# - C# Socket 在本地工作,但不能在远程工作
- angular - 从 Angular 中的选择选项更改值
- c# - 编写用于提取 .csv 文件的 C# 代码,如果我给出第一列的一个元素,我将得到其他两列的相应值
- php - 试图获取非对象的属性“”(查看:
- scala - 检查 Scala 类是否是 T 的实例
- octobercms - 魔法形式 | 自定义消息不起作用