c语言创建通讯录不用指针,用C语言做通讯录,只能用数组,不能用指针,急用啊,谢谢了...
匿名用户
1级
2008-04-07 回答
#include "stdafx.h"
#include "MailMessage.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//
// Construction/Destruction
//
CMailMessage::CMailMessage()
{
m_sBody=_T("");
m_sHeader=_T("");
}
CMailMessage::~CMailMessage()
{
}
//将收件人地址加到m_Recipients数组中
BOOL CMailMessage::AddRecipient( LPCTSTR szEmailAddress, LPCTSTR szFriendlyName)
{
ASSERT( szEmailAddress != NULL );
ASSERT( szFriendlyName != NULL );
CRecipient to;
to.m_sEmailAddress = szEmailAddress;
to.m_sFriendlyName = szFriendlyName;
m_Recipients.Add( to );
return TRUE;
}
//从类CRecipient中提取收信人地址
BOOL CMailMessage::GetRecipient(CString & sEmailAddress, CString & sFriendlyName, int nIndex)
{
CRecipient to;
if( nIndex < 0 || nIndex > m_Recipients.GetUpperBound() )
return FALSE;
to = m_Recipients[ nIndex ];
sEmailAddress = to.m_sEmailAddress;
sFriendlyName = to.m_sFriendlyName;
return TRUE;
}
//确定收信人数
int CMailMessage::GetNumRecipients()
{
return m_Recipients.GetSize();
}
//收信人地址->数组m_Recipients
BOOL CMailMessage::AddMultipleRecipients(LPCTSTR szRecipients )
{
TCHAR* buf;
UINT pos;
UINT start;
CString sTemp;
CString sEmail;
CString sFriendly;
UINT length;
int nMark;
int nMark2;
ASSERT( szRecipients != NULL );
length = strlen( szRecipients );
buf = new TCHAR[ length + 1 ];
strcpy( buf, szRecipients );
for( pos = 0, start = 0; pos <= length; pos++ )
{
if( buf[ pos ] == ';' ||
buf[ pos ] == 0 )
{
buf[ pos ] = 0;
sTemp = &buf[ start ];
nMark = sTemp.Find( '= 0 )
{
sFriendly = sTemp.Left( nMark );
nMark2 = sTemp.Find( '>' );
if( nMark2 < nMark )
{
delete[] buf;
return FALSE;
}
nMark2 > -1 ? nMark2 = nMark2 : nMark2 = sTemp.GetLength() - 1;
sEmail = sTemp.Mid( nMark + 1, nMark2 - (nMark + 1) );
}
else
{
sEmail = sTemp;
sFriendly = _T( "" );
}
AddRecipient( sEmail, sFriendly );
start = pos + 1;
}
}
delete[] buf;
return TRUE;
}
//发信前格式化邮件
void CMailMessage::FormatMessage()
{
start_header();
prepare_header();
end_header();
prepare_body();
}
//格式化标头
void CMailMessage::prepare_header()
{
CString sTemp;
sTemp = _T( "" );
sTemp = _T( "寄信人地址: " ) + m_sFrom;
add_header_line( (LPCTSTR)sTemp );
sTemp = _T( "收信人地址: " );
CString sEmail = _T( "" );
CString sFriendly = _T( "" );
for( int i = 0; i < GetNumRecipients(); i++ )
{
GetRecipient( sEmail, sFriendly, i );
sTemp += ( i > 0 ? _T( "," ) : _T( "" ) );
sTemp += sFriendly;
sTemp += _T( "" );
}
add_header_line( (LPCTSTR)sTemp );
// 日期
m_tDateTime = m_tDateTime.GetCurrentTime();
sTemp = _T( "日期: " );
sTemp += m_tDateTime.Format( "%a, %d %b %y %H:%M:%S %Z" );
add_header_line( (LPCTSTR)sTemp );
sTemp = _T( "主题: " ) + m_sSubject;
add_header_line( (LPCTSTR)sTemp );
}
//邮件体格式化
void CMailMessage::prepare_body()
{
// 需要时,添加CR/LF
if( m_sBody.Right( 2 ) != _T( "\r\n" ) )
m_sBody += _T( "\r\n" );
}
//准备格式化标头
void CMailMessage::start_header()
{
m_sHeader = _T( "" );
}
//结束标头格式化
void CMailMessage::end_header()
{
m_sHeader += _T( "\r\n" );
}
//增加项到标头
void CMailMessage::add_header_line(LPCTSTR szHeaderLine)
{
CString sTemp;
sTemp.Format( _T( "%s\r\n" ), szHeaderLine );
m_sHeader += sTemp;
}
c语言创建通讯录不用指针,用C语言做通讯录,只能用数组,不能用指针,急用啊,谢谢了...相关推荐
- c语言创建线程代码,如何用C语言实现多线程
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Windows操作系统,C语言实现多线程: #include #include DWORD APIENTRY ThreadOne ( LPVOID thr ...
- 网页文件是用html语言创建的文本文件,HTML超文本标记语言,用它编写的文件(文档)的扩展名是.ppt...
HTML 超文本标记语言,用它编写的文件(文档)的扩展名是.html或.htm 网站首页的主文件名:Index,Default HTML是一个标准的ASCII文件 HTML语言使用标记对,标记名> ...
- c语言创建链表存储10个数,C语言编写的建立单向int链表,连续输入10个结点创建链表,并实现在原链表中插入数字、删除数字、查找数字的功能...
满意答案 1bz8z1f96 2014.07.01 采纳率:54% 等级:9 已帮助:565人 #include #include #define LEN sizeof(struct num) ...
- C语言创建学生姓名分数链表,C语言编程 编写程序,建立一个学生数据链表,学生的数据包括学号、姓名、成绩。...
满意答案 w6611826 2013.04.19 采纳率:50% 等级:11 已帮助:10597人 #include #include #define NULL 0 struct stud { ...
- 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)
相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...
- 【C 语言】数组与指针操作 ( 数组符号 [] 与 指针 * 符号 的 联系 与 区别 | 数组符号 [] 与 指针 * 符号 使用效果 基本等价 | 数组首地址 与 指针 本质区别 )
文章目录 前言 一.数组符号 [] 与 指针 * 符号 使用效果 基本等价 二.数组首地址 与 指针 本质区别 前言 参考 [C 语言]指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方 ...
- Python 语言创建 HyerMesh Tcl 命令流
目 录 Blog Links 一.前言 二.Tcl 命令 2.1 帮助文档 2.2 命令窗口 2.3 运行脚本 2.4 基本语法 三.模型组件 四.几何模型 4.1 几何点/Point 4.2 几何线 ...
- Python 语言创建 SAP2000 s2k 文件
目 录 Blog Links 一.前言 二.s2k文件数据库 2.1 数据库结构 2.2 默认Table的创建 三.属性 3.1 材料属性 3.2 框架截面 3.3 板壳截面 3.4 实体截面 四.对 ...
- C语言中数组变量和指针变量
指针变量为什么需要类型? 数组变量和指针变量在使用sizeof时不同,sizeof(数组变量)是数组长度,sizeof(指针变量)是存储int的字节长度4或者8(64bit). 数组变量在参数传递中, ...
- c语言程序设计 第三版 哈工大,C语言程序设计_哈工大(3):字符串指针.pdf
圳 职 业 技 术 学 院Shenzhen Polytechnic 七单元(3):字符串指针 教学内容 字符串的指针和指向字符串的指针变量 教学目标 应知 字符串可以用字符数组和字符指针表示 应会 用 ...
最新文章
- 微服务架构的优势与不足(三)
- 电气期刊论文实现:考虑斜坡约束、开停机时间约束的电力机组组合(程序讲解)
- Boost.MultiIndex 复合键的例子
- 未能分析从服务器收到的消息,WebSocket Javascript客户端未收到来自服务器的消息...
- 数学狂想曲(三)——统计杂谈, PID算法, 20世纪10大算法, 矩阵向量的积
- Hive分析窗口函数 NTILE,ROW_NUMBER,RANK,DENSE_RANK
- loadrunner基础学习笔记二
- 如何在Mac 上的“终端”中限制回滚行数?
- Substrings (C++ find函数应用)
- week15-作业题--字符串(hash、字典树、KMP)
- Word插入脚注只占左下角一栏的方法
- vm虚拟机开启蓝屏问题
- IDEA编译错误PersistentEnumerator storage corrupted
- Ios常用第三方动画框架(三)
- Python 人工智能:16~20
- 【阿里云·云原生架构】白皮书 —— 云原生架构原则
- 婴儿脸上起湿疹吃什么好
- html测试工具手机版,SP META Tool(手机测试工具)
- Pippo已经不能只用超级来形容了
- 已经开发好的网站,进行多语言支持