vcf文件分解

简介: 上上周把手机丢了,可是原先备份的通讯录只有一个.vcf文件,里面含盖了我所有的联系人信息比如100个联系人信息他全存进一个.vcf文件了。换了新手机,怎么也导不到新手机里面,原因是新手机只支持一个.vcf文件里存一条通讯录的那种格式,比如100个联系人信息就得有100个.vcf文件放到内存卡里才能还原。

上上周把手机丢了,可是原先备份的通讯录只有一个.vcf文件,里面含盖了我所有的联系人信息比如100个联系人信息他全存进一个.vcf文件了。换了新手机,怎么也导不到新手机里面,原因是新手机只支持一个.vcf文件里存一条通讯录的那种格式,比如100个联系人信息就得有100个.vcf文件放到内存卡里才能还原。

我用文本方式观察了一下,正好可以用c++处理一下,正好也练一个文件处理方面的基本功。代码如下,vc6.0编译。

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{
	ifstream first("D:\\myPro\\phoneBook\\a.vcf",ios::in);//读取的方式打开文件


	
	if(first)
		cout<<"文件打开成功"<<endl;
	else
		cout<<"文件打开失败"<<endl;
	
	string result;
	string temp;
	string name;
	
	
	while(!first.eof())
	{
		char buf[100];
		first.get(buf,100,'\n');  //读取一行到buf
		
		
		temp=buf;
		result+=temp+"\n";
		if(temp.find("N:")!=string::npos&&temp.find("BEGIN")==string::npos&&temp.find("FN")==string::npos&&temp.find("VERSION:")==string::npos)
		{
			name.assign(temp,2,temp.length()-2);
		}
		
		if(temp.find("END")!=string::npos)
		{
			cout<<"记录为\n"<<result<<endl;
			cout<<"---------------------------------\n";
			name=name+".vcf";
			const char *str=name.c_str();
			
			ofstream second(str);//以人物姓名创建一个文件
			second<<result;
			second.close();
			
			result="";
			name="";
		}
		memset(buf,0,sizeof(buf));
		first.seekg(2,ios::cur);

	}
	
	return 0;
}

 

1

2

相关文章
|
6月前
|
人工智能 自然语言处理 搜索推荐
AI 零成本搭建个人网站,小白 3 步搞定!通义灵码智能体+MCP 新玩法
通过AI技术,即使不编写代码也能高效开发项目。从生成诗朗诵网页到3D游戏创建,这些令人惊叹的操作如今触手可及。经过摸索,我利用AI成功上线了个人站点:https://koi0101-max.github.io/web。无需一行代码,借助强大的工具即可实现创意,让开发变得简单快捷!
2046 71
|
10月前
|
人工智能 文字识别 自然语言处理
Vision Parse:开源的 PDF 转 Markdown 工具,结合视觉语言模型和 OCR,识别文本和表格并保持原格式
Vision Parse 是一款开源的 PDF 转 Markdown 工具,基于视觉语言模型,能够智能识别和提取 PDF 中的文本和表格,并保持原有格式和结构。
1395 19
Vision Parse:开源的 PDF 转 Markdown 工具,结合视觉语言模型和 OCR,识别文本和表格并保持原格式
|
JSON 前端开发 API
打造高效后端:RESTful API 设计的最佳实践
【9月更文挑战第14天】在数字化时代,后端开发是构建强大、灵活和可维护应用程序的基石。本文将深入探讨如何设计高效的RESTful API,包括清晰的资源定义、合理的HTTP方法使用、URL结构规划、状态码的准确返回以及数据格式的设计。通过这些实践,开发者能够创建出既符合行业标准又易于维护和扩展的API,为前端提供强大的数据支持,确保整个应用的稳定性和性能。
310 74
|
数据可视化 Ubuntu Linux
PyCharm连接远程服务器配置的全过程
相信很多人都遇见过这种情况:实验室成员使用同一台服务器,每个人拥有自己的独立账号,我们可以使用服务器更好的配置完成实验,毕竟自己哪有money拥有自己的3090呢。 通常服务器系统采用Linux,而我们平常使用频繁的是Windows系统,二者在操作方面存在很大的区别,比如我们实验室的服务器采用Ubuntu系统,创建远程交互任务时可以使用Terminal终端或者VNC桌面化操作,我觉得VNC很麻烦,所以采用Terminal进行实验,但是Terminal操作给我最不好的体验就是无法可视化中间实验结果,而且实验前后的数据上传和下载工作也让我头疼不已。
|
弹性计算 应用服务中间件 Linux
双剑合璧:在同一ECS服务器上共存Apache与Nginx的实战攻略
在ECS服务器上同时部署Apache和Nginx的实战:安装更新系统,Ubuntu用`sudo apt install apache2 nginx`,CentOS用`sudo yum install httpd nginx`。配置Nginx作为反向代理,处理静态内容及转发动态请求到Apache(监听8080端口)。调整Apache的`ports.conf`监听8080。重启服务测试,实现两者高效协同,提升Web服务性能。记得根据流量和需求优化配置。【6月更文挑战第21天】
1272 1
|
前端开发 JavaScript 数据管理
什么是单向数据流
什么是单向数据流
414 1
|
网络安全 开发工具 git
|
存储 缓存 监控
Redis调优大揭秘:掌握这几十种技巧,让你的Redis更快更稳定!
Redis调优大揭秘:掌握这几十种技巧,让你的Redis更快更稳定!
1106 0
|
JSON 运维 监控
链路追踪Skywalking应用实战 2
链路追踪Skywalking应用实战
548 0
|
存储 数据采集 消息中间件
十分钟彻底掌握缓存击穿、缓存穿透、缓存雪崩
十分钟彻底掌握缓存击穿、缓存穿透、缓存雪崩
1067 1
十分钟彻底掌握缓存击穿、缓存穿透、缓存雪崩