CStringを改行でパースしてCStringArray に投げ込む。

落ちるから作り直したわ
テラDéjàVu

void ParseLines(CStringArray &sa, CString& doc)
{
	int i = 0, s = 0;
	int l = doc.GetLength();
	LPTSTR buff = doc.GetBuffer(0);

	for(; i < l + 1;)
	{
		if( buff[i] == _T('\r') )
		{
			buff[i] = _T('\0');
			sa.Add(&buff[s]);

			if( buff[i + 1] == _T('\n') )
				i++;

			s = i + 1;
		}
		else if( buff[i] == _T('\n') )
		{
			buff[i] = _T('\0');
			sa.Add(&buff[s]);

            s = i + 1;
		}

		i++;
	}
	
	sa.Add(&buff[s]);
	doc = _T("");
}