C++ 搜索 TXT 文件返回 int.
C++ Search TXT File return int
下面的代码来自我正在处理的一个更大的代码。它在 txt 文件中搜索用户名。如果找到该名称,则返回以太币 int 0 或 int 1。它可以编译并运行,但无论用户是否在 txt 文件中,它总是运行关闭操作,让我认为函数每次都返回 0。
#include <iostream>
#include <fstream>
#include <string>
int DoThis(int UF);
int main(void)
{
int z;
z = DoThis(0);
if(z == 1){RunThing;}
else if(z == 0){ShutDown;}
return 0;
}
int DoThis(int UF)
{
int offset;
std::cin >> NameToCheck;
Myfile.open("FilePath")
if(Myfile.is_open())
{
while(!Myfile.eof())
{
getline(Myfile,line);
if((offset = line.find(NameToCheck, 0)) != std::string::npos)
{
while(Myfile >> FirstName >> LastName)
{
return = 1;
}
}
}
Myfile.close();
}
else
{
std::cout << "File not found.";
}
return 0;
}
如果不看到实际代码就无法准确判断,但看起来它总是返回 0,因为您正在覆盖每行变量UserFound
中的内容。找到名称后,返回 1 - 这样您就不必遍历文件的其余部分并可能导致其他错误。
return 0;
函数的最后一个语句,以防找不到它或无法打开文件。
要逐行读取文件,不需要第二个while
循环。您所需要的只是检查line
字符串是否包含NameToCheck
字符串。如果找到,则返回 1。如果到达文件末尾,则返回 0。
相关文章:
- 如果"new int"返回"int*",那么为什么"new int[n]"不返回"int**"?
- 返回 int 中可被 2 c++ 整除的所有数字的总和
- 如何正确重载 << 运算符以返回 int 值?
- 返回 int 时的分段错误
- 返回int数据类型v/s传递参考
- char*中存储的返回int值(0-255)给出了负值
- C++. 面试. 关于返回 int* 值问题的范围
- 调用从Java返回INT值的C 函数
- 使用 static int 返回 int&in 函数
- 从函数 CPP 返回 int 或 string.c_str() 时的两个不同的行为
- 超能力 NDK 安卓:返回 int 在"extern"块中成功,在调用函数中失败
- 如何使用 boost::bind 将返回 int 的函数转换为返回布尔值的函数
- 为什么在应该返回对象的方法中返回 int 是有效的
- main() 总是返回 int
- 从函数返回"int * const"
- C++函数向字符串变量返回int
- 从返回int的函数中获取char的正确方法
- 为什么这个阶乘函数返回int而不是double
- 为什么 isnan、isinf 和 isfinite 返回 int 而不是布尔值
- 返回 std::string 的函数在没有 return 语句的情况下崩溃,这与返回 int 而不返回语句的函数不同