.CSV格式电话本转UT斯达康小灵通电话本.utpb格式程序源代码

/*
Microsoft Visual Studio .net 2003;Microsoft Visual c++ 编译通过。

输入:phonebook.csv 格式号码本(必须是这个名字)。
输出:phonebook.utpb 格式号码本。

phonebook.csv各字段如下所示(姓名,电话号码,组名):
蔡小萍,6821,同事
陈  瑶,1361190xxxx,朋友
陈  瑶,6848,家人
陈江山,1380168xxxx,其它
 
使用方法:将编译后的可执行程序如(utstarcom.exe)和号码本phonebook.csv(必须是这个名字)拷贝到c:/下面
运行utstarcom.exe后在c:/下生成phonebook.utpb即为小灵通电话本,然后在hotlink中导入小灵通。hotlink为UT小灵通的联机程序。

源码来源:《从智能手机到UT小灵通手机号码本的转换程序发布》http://laoshuwangxuetaoo.spaces.live.com/blog/cns!8a5c0a1b15db97a2!125.entry
*/

// Utstarcom.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "stdio.h"

int _tmain(int argc, _TCHAR* argv[])
{
#define S(a,b) hptmp=hp+a; strcpy(hptmp,b)
 struct contact
 {
  int index;
  int class_;
  int null;
  char name[40];
  char code[1848];
  int null5_16;
 } a={0,0,0,"","",0};
 char *hp,*hptmp,c;
 static char header[2228]="";
 char cclass[30];
 FILE *fpout,*fpin;

 hp=header;

 S(0,"PC_PB");
 S(0x64,"PC1.0");
 S(0xc8,"/4");
 S(0xcc,"/1");
 S(0xcd,"Index");
 S(0xe4,"/4");
 S(0xe8,"/1");
 S(0xe9,"群组");
 S(0x11c,"/xc");
 S(0x120,"/1");
 S(0x121,"姓名");
 S(0x138,"/x18");
 S(0x13c,"/1");
 S(0x13d,"号码");
 S(0x484,"/1");
 S(0x485,"家庭");
 S(0x4a0,"/1");
 S(0x4a1,"朋友");
 S(0x4bc,"/1");
 S(0x4bd,"同事");
 S(0x4d8,"/1");
 S(0x4d9,"同学");
 S(0x4f4,"/1");
 S(0x4f5,"重要人士");
 S(0x510,"/1");
 S(0x511,"合作伙伴");
 S(0x52c,"/1");
 S(0x52d,"其他");
 S(0x548,"/1");
 S(0x549,"黑名单");
 S(0x8a8,"/x10");
 S(0x8ac,"/1");
 S(0x8b0,"/xe8");
 S(0x8b1,"/3");
 fpout=fopen("c://phonebook.utpb","wb");
 if(fpout==NULL)
  printf("can not create file in dir c:///n");
 fwrite(hp,2228,1,fpout);
 printf("write the header......  over/n");
 printf("The phonebook is:/n/n");
 fpin=fopen("c://phonebook.csv","rb");
 if(fpin==NULL)
  printf("can not open file in dir c://phonebook.csv/n");
 int i=0;
 while(!feof(fpin))
 {
  i++;
  a.index=i;
  a.null=0;
  for (int ii=0;ii<40;ii++) a.name[ii]='/0';
  for (int ii=0;ii<1848;ii++) a.code[ii]='/0';
  for (int ii=0;ii<30;ii++) cclass[ii]='/0';
  for (int ii=0;(c=fgetc(fpin))!= ','; ii++)  {a.name[ii]=c;}
  for (int ii=0;(c=fgetc(fpin))!= ','; ii++)   {a.code[ii]=c;}
  for (int ii=0;(c=fgetc(fpin))!='/x0d'; ii++)  { cclass[ii]=c;}
  c=fgetc(fpin);
  a.class_=6;
  if(strcmp(cclass,"家庭")==0)    a.class_=0;
  if(strcmp(cclass,"朋友")==0)    a.class_=1;
  if(strcmp(cclass,"同事")==0)    a.class_=2;
  if(strcmp(cclass,"同学")==0)    a.class_=3;
  if(strcmp(cclass,"重要人士")==0)   a.class_=4;
  if(strcmp(cclass,"合作伙伴")==0)   a.class_=5;
  if(strcmp(cclass,"其他")==0)    a.class_=6;
  if(strcmp(cclass,"黑名单")==0)   a.class_=7;
  a.null5_16=16;
  fwrite(&a,sizeof(struct contact),1,fpout);
  printf("姓名=%12s 号码=%20s, 类别=%1d/n",a.name,a.code,a.class_);
 }
 fclose(fpin);
 fclose(fpout);
 printf("/n/nThe output file phonebook.utpb was create in c://");
 return 0;
}

//程序下载地址:“福建旅游之窗”(www.fjta.com)>>“下载中心”>>其它,点击: UT斯达康电话本转换程序

// 其它转换电话本的方式:超级小灵簿 http://www.cyllular.com/pimweb/contact/index.jsp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值