文本数据如下:
1 2 3 2 1 2 3 2 1 2
1 2 2 5 4 1 2 5 3 5
1 4 1 4 1 1 4 7 5 4.1
现在读出后转化成float然后放进二维数组该怎么做啊?用MFC谢谢 到时候给分!~~
1 2 3 2 1 2 3 2 1 2
1 2 2 5 4 1 2 5 3 5
1 4 1 4 1 1 4 7 5 4.1
现在读出后转化成float然后放进二维数组该怎么做啊?用MFC谢谢 到时候给分!~~
那得先确定大小
csdtiofile
readstring()得到一行字符串,然后过滤,得到
反复readstring得到行数
然后动态分配
最后字符串操作,把一个个数字提取出来好像我的方法不够好
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_READONLY,
NULL);Length = GetFileSize(hPltFile, &HighLength); char* pBuff = new char[Length+1];memset(pBuff, 0, Length+1);
if(!::ReadFile(hPltFile, pBuff, Length, &ReadNum, NULL))
{
return 0;
}CloseHandle(hPltFile);pBuff[Length] = '\0';TmpRead = Readed; while ((*Readed)!='\0')
{ if((*Readed>'0'&&*Readed<'9')||*Readed=='.')
*Readed++;
else if(*Readed==0x20)
{
*Readed = '\0'; Number[i][j] = atof(TmpRead);
j++; while(*Readed<'0'||*Readed>'9')
{
Readed++;
} TmpRead = Readed;
}
else if(*Readed==0x0a || *Readed==0x0d)
{
*Readed = '\0'; Number[i][j] = atof(TmpRead);
i++; while(*Readed<'0'||*Readed>'9')
{
Readed++;
} TmpRead = Readed;
}
else
Readed++;
}
具体可以给点代码撒
应该可以成功
接着在网上搜有关excel ado 导入的
2.0 \t 2.1 \t 2.2
现在就差如何把二维数组给放进EXCEL了 这个不会!
2.0 \t 2.1 \t 2.2
Workbooks wbsMyBooks;
_Workbook wbMyBook;
Worksheets wssMysheets;
_Worksheet wsMysheet;
Range rgMyRge;
//创建Excel 2000服务器(启动Excel) if (!ExcelApp.CreateDispatch("Excel.Application",NULL))
{
AfxMessageBox("创建Excel服务失败!");
exit(1);
}
//利用模板文件建立新文档
wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);
wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t("g:\exceltest\MyTemplate.xlt")));
//得到Worksheets
wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);
//得到sheet1
wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true);
//得到全部Cells,此时,rgMyRge是cells的集合
rgMyRge.AttachDispatch(wsMysheet.GetCells(),true);
//设置1行1列的单元的值
rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)1),_variant_t("This Is A Excel Test Program!"));
//得到所有的列
rgMyRge.AttachDispatch(wsMysheet.GetColumns(),true);
//得到第一列
rgMyRge.AttachDispatch(rgMyRge.GetItem(_variant_t((long)1),vtMissing).pdispVal,true);
//设置列宽
rgMyRge.SetColumnWidth(_variant_t((long)200));
//调用模板中预先存放的宏
ExcelApp.Run(_variant_t("CopyRow"),_variant_t((long)10),vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing);
//打印预览
wbMyBook.SetSaved(true);
ExcelApp.SetVisible(true);
wbMyBook.PrintPreview(_variant_t(false));
//释放对象
rgMyRge.ReleaseDispatch();
wsMysheet.ReleaseDispatch();
wssMysheets.ReleaseDispatch();
wbMyBook.ReleaseDispatch();
wbsMyBooks.ReleaseDispatch();
ExcelApp.ReleaseDispatch();
}
分不够了再加!