gpt4 book ai didi

c - 如何检查 char 中是否存在 EOF?

转载 作者:行者123 更新时间:2023-11-30 15:48:04 24 4
gpt4 key购买 nike

如何检查以下结构的名称字段中是否存在 EOF?

struct dirent * ent;
ent->d_name;

即我想知道 ent->d_name 是否拥有 EOF。

另一方面,可以初始化char[256]类型的变量

ent->d_name[255]='\0';

但我收到以下警告:

warning: can be used 'ent' uninitialized in this function [-Wuninitialized]

最佳答案

您收到未初始化警告,因为您没有初始化 ent 指向的值。 struct dirent * ent 只是一个应该指向 struct dirent 的指针,但您尚未初始化它指向的内存。为了使用ent或者malloc它:

struct dirent * ent = malloc(sizeof(*ent));

或者在堆栈上分配它并使用取址运算符获取指向它的指针:

struct dirent ent;
struct dirent * entPointer = &ent;

关于 EOF 问题:EOF 宏可用于检测流中的文件结束符,例如由 fopen 打开的文件结束符。它与字符串d_name[255]无关。除非您指的是终止符 -'\0',否则保证存在。 [需要引用]

关于c - 如何检查 char 中是否存在 EOF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17051186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com