C++“”字符与字符“”相加是连接

例如获取excel表头的函数,当列数超过26之后,列表头变为:AA,AB,AC.....,那么该如何获取呢?

eg:“A”+"A"="AA"

//自己写的获取单元头的函数  col:列数,row:行数  strName:表格名
void   GetCellName(int nRow, int nCol, CString &strName)
{
  int nSeed = nCol;//列数
CString strRow;


//比如nCol = 27 

int numberOfCol = nCol / 27;//numberOfCol =1
std::string  cellName;
if (numberOfCol!=0)
{
cellName = 'A' + numberOfCol-1;//cellName=A
nCol = nCol % 27+1;//nCol=1
}

cellName += 'A' + nCol - 1;//cellName = AA,为啥这样相加就可以组成AA ?因为 字符与字符相加是连接 
//cellName.append('A' + nCol - 1);//与上面一句完全等价   报错的原因是('A' + nCol - 1)是一个字符不是字符串
strName.Format(_T("%s"), cellName.c_str());
strRow.Format(_T("%d "), nRow);
strName = strName + strRow;

}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值