gpt4 book ai didi

c++ - 如何知道从二进制文件中读取的记录是否有空字段? C++

转载 作者:行者123 更新时间:2023-11-30 04:22:25 31 4
gpt4 key购买 nike

我在读高中,必须使用 Turbo C++ 编译器,我知道这是一个非常古老的编译器,但请理解我的情况。

所以我在员工数据库上编写代码。代码片段:

userdb user;
fstream fil;
while(fil.read((char*)&user,sizeof(userdb)))
{
cout<<user.name;
cout<<user.pass;
cout<<user.age;
cout<<user.address;
}
fil.close();

现在的问题是,如果用户没有在数据库中输入他的地址,编译器会显示垃圾。

我如何检查一个值是否没有任何内容(垃圾)以便不在屏幕上打印它?(我试过 address[0]='\0' 和 strcmp("",address)==0 但这不起作用)

最佳答案

空字段 在此上下文中没有任何意义。实际上,您正在从文件中读取 N 个字节,并将它们存储到内存中。您告诉计算机将这部分内存解释为字符串。无需执行任何操作即可知道该字段是否为

你最好的选择是查看这段内存,并尝试猜测它是否看起来像一个实际地址。

也许你可以先看看这个存储在一个固定大小的字符数组中的地址字符串是否有一个终止符。如果不是,您可以猜测它是无效的,并可能在字符数组的末尾添加这个终止字符。

关于c++ - 如何知道从二进制文件中读取的记录是否有空字段? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13834797/

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