从文件中查找和打印具有特定前缀的数据时遇到问题

时间:2019-05-11 03:59:24

标签: c++

我的程序从电话的文件数据库中读取数据,这部分代码应该从文件中打印出一些电话号码(以及其他信息),但仅打印以指定前缀开头的电话号码。我无法弄清楚如何确定哪些呼叫具有正确的前缀,而仅打印那些。

我尝试使用string.find(prefix),但不起作用。

while (1) {
    cout<< "\nE164 prefix for query:"<< endl;
    cin >> prefix;
    if (prefix== "\n" || prefix== "-1") {
        break;
    }

    if (numCalls== 0) {
        cout<< "No Records\n";
    }
    else {
        cout<< "Time      Country  Phone Number    Duration\n";
        for (unsigned int i=0; i< numCalls; ++i) {
            if (call.phonenum.find(prefix)!= string::npos) {
            GetCallInCallDB( calldb, i, call);
            cout<< left<< setw(10) << GetStartCall(call);
            cout<< left<< setw(9)<< GetCountryCodeCall(call);
            cout<< left<< setw(16)<< GetPhoneNumberCall(call);
            cout<< FormatDuration(call)<< endl;
            }
        }
    }
}

if语句有效,但是else语句仅输出标头和随机的(尽管格式正确)电话文件。

0 个答案:

没有答案