How about this approach ..
bool ClipBoardToStringArray(StringArray &strClipBoard)
{
string strCBtext;
if(GetClipboardText(strCBtext)==true)
{
strClipBoard.SetSize(0);
string strLine, strDelimiter="\r\n";
int LineStart=0, LineEnd=0, ArraySize=0, i=0;
while(LineEnd!=-1)
{
LineEnd=strCBtext.Find(strDelimiter,LineStart);
if(LineEnd!=-1)
{
strLine=strCBtext.Mid(LineStart,(LineEnd-LineStart));
LineStart=LineEnd+2;
}
else
{
strLine=strCBtext.Mid(LineStart);
if(strLine.GetLength()==0)
{
continue;
}
}
ArraySize++;
strClipBoard.SetSize(ArraySize);
strClipBoard[i]=strLine;
i++;
}
return (true);
}
return (false);
}