问题描述
- C++ 字符串 转 二维数组
-
CString aa = "11<225>22<225>33<225>44<000>aa<225>bb<225>cc<225>dd<000>ee<255>ff<255>hh<000>"想转为二维数组 求代码 学习
想转为二维数组 求代码 学习
解决方案
// app1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "app1.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// The one and only application object
CWinApp theApp;
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
//CString strHello;
//strHello.LoadString(IDS_HELLO);
//cout << (LPCTSTR)strHello << endl;
CString aa = "11<225>22<225>33<225>44<000>aa<225>bb<225>cc<225>dd<000>ee<255>ff<255>hh<000>";
char * buffer = new char[aa.GetLength() + 1];
strcpy(buffer, (LPCTSTR)aa);
char ** arr = new char*[aa.GetLength()];
int n = 1;
arr[0] = &buffer[0];
for (int i = 0; i < aa.GetLength(); i++)
{
if (buffer[i] == '<' || buffer[i] == '>')
{
arr[n] = &buffer[i + 1];
buffer[i] = '';
n++;
}
}
for (i = 0; i < n - 1; i++)
{
printf("%sn", arr[i]);
}
}
return nRetCode;
}
解决方案二:
11
225
22
225
33
225
44
000
aa
225
bb
225
cc
225
dd
000
ee
255
ff
255
hh
000
Press any key to continue
时间: 2024-08-30 14:28:46