21xrx.com
2025-03-27 19:19:04 Thursday
文章检索 我的文章 写文章
C++ 通讯录文件读取教程
2023-07-04 18:53:38 深夜i     13     0
C++ 通讯录 文件读取 教程 编程技能

通讯录是我们日常生活中不可或缺的工具,而在计算机编程中,使用文件存储通讯录数据也是一种常见的做法。在 C++ 编程中,读取文件中的通讯录信息是一个基础而又重要的概念。下面是一个简单的 C++ 通讯录文件读取教程,帮助大家了解如何读取通讯录数据。

首先,需要创建一个通讯录文本文件,并将通讯录数据写入该文件。每一行表示一个通讯录联系人的信息,可以按照以下的格式来组织:

张三,13888888888,beijing

李四,13900001111,shanghai

其中,每个联系人的信息由逗号分隔,包括姓名、电话号码以及地址。

接下来,使用 C++ 中的 ifstream 类来读取通讯录文件中的数据。这里假设通讯录文件名为 contacts.txt。代码如下:

#include <fstream>
#include <string>
#include <iostream>
using namespace std;
int main() {
  ifstream fin("contacts.txt");
  
  if (fin.is_open()) {
    string line;
    while (getline(fin, line))
      // 在这里处理每一行数据
    
  } else
    cout << "无法打开文件" << endl;
  
  
  fin.close();
  
  return 0;
}

该代码首先尝试打开 contacts.txt 文件,在打开成功后,使用 getline 函数逐行读取文件中的数据。在 while 循环中,每次读取一行数据,然后可以将其分解为姓名、电话和地址三个部分,具体代码如下:

#include <fstream>
#include <string>
#include <iostream>
using namespace std;
int main() {
  ifstream fin("contacts.txt");
  
  if (fin.is_open()) {
    string line;
    while (getline(fin, line)) {
      int p1 = line.find(",");
      int p2 = line.find(",", p1 + 1);
      
      string name = line.substr(0, p1);
      string phone = line.substr(p1 + 1, p2 - p1 - 1);
      string address = line.substr(p2 + 1);
      
      // 在这里处理每个联系人的信息
      cout << name << " " << phone << " " << address << endl;
    }
  } else
    cout << "无法打开文件" << endl;
  
  
  fin.close();
  
  return 0;
}

该代码定义了三个变量 p1、p2 和 line,使用 find 函数来查找逗号分隔的位置,然后使用 substr 函数来提取姓名、电话和地址信息。在循环处理每一行数据时,可以将这些信息输出到屏幕上,也可以进行其他操作,如存储到数组、结构体或数据库中等。

以上就是一个简单的 C++ 通讯录文件读取教程。通过阅读本教程,你应该了解到如何创建通讯录文本文件,并读取其中的数据。尽管代码简单,但是对于理解文件读取的基本概念和处理每行数据的方法很有帮助。希望本教程对你在编写 C++ 通讯录程序时提供一些有价值的指导。

  
  

评论区