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谢谢 到时候给分!~~
23 个解决方案
#1
大小不确定吗?
那得先确定大小
csdtiofile
readstring()得到一行字符串,然后过滤,得到
反复readstring得到行数
然后动态分配
最后字符串操作,把一个个数字提取出来
好像我的方法不够好
那得先确定大小
csdtiofile
readstring()得到一行字符串,然后过滤,得到
反复readstring得到行数
然后动态分配
最后字符串操作,把一个个数字提取出来
好像我的方法不够好
#2
strtok, atof
#3
刚刚写了一个
float Number[256][256];
HANDLE hPltFile = NULL;
DWORD Length = 0;
DWORD HighLength;
DWORD ReadNum = 0;
int i=0;
int j=0;
char* Readed;
char* TmpRead;
hPltFile = ::CreateFile(szFileName,
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++;
}
#4
ls的代码很强大...
赞个..
赞个..
#5
参考我写的一篇文章:http://blog.csdn.net/clever101/archive/2006/05/22/749170.aspx
#6
参考我写的一篇文章:http://blog.csdn.net/clever101/archive/2006/05/22/749170.aspx
#7
参考我的一篇文章:
http://blog.csdn.net/clever101/archive/2006/05/22/749170.aspx
http://blog.csdn.net/clever101/archive/2006/05/22/749170.aspx
#8
怎么加分啊,郁闷 想给各位都加点分还不知道怎么加!
读文本到二维数组的问题还是优点迷糊,大家继续关注下子撒,等知道加分了自然补上
读文本到二维数组的问题还是优点迷糊,大家继续关注下子撒,等知道加分了自然补上
#9
加分都不会?看到现在这个页面,最后一条留言,在留言左下方,3个按钮,中间那个,“管理帖子”,按下,给分,然后按“结帖”。
PS:结帖要再输入一次密码
PS:结帖要再输入一次密码
#10
可是我还不想结帖呢,只是想让高手看在分数的面子上再帮帮我!
问题还么解决啊!
问题还么解决啊!
#11
我也遇到类似问题
期待...
期待...
#12
快结帖了,高手可以再给些意见!偶会酌情给分的
#13
你要什么意见?
#14
比如把二维数组中的数据向EXCEL填写的时候用什么函数或方法比较好?
具体可以给点代码撒
具体可以给点代码撒
#15
你自己试一下,通过excel现有工具把文本导入
应该可以成功
接着在网上搜有关excel ado 导入的
应该可以成功
接着在网上搜有关excel ado 导入的
#16
直接打开一个xls文件写进去
1.0 \t 1.1 \t 1.2 \r\n
2.0 \t 2.1 \t 2.2
1.0 \t 1.1 \t 1.2 \r\n
2.0 \t 2.1 \t 2.2
#17
EXCEL我已经建立起来了,用COM弄的
现在就差如何把二维数组给放进EXCEL了 这个不会!
现在就差如何把二维数组给放进EXCEL了 这个不会!
#18
先打开一个txt先把下面的写进去,完了后缀再改成xls
1.0 \t 1.1 \t 1.2 \r\n
2.0 \t 2.1 \t 2.2
1.0 \t 1.1 \t 1.2 \r\n
2.0 \t 2.1 \t 2.2
#19
这方法我倒没用过,不过我现在直接想往现成做好的EXCEL写入,不知道该怎么办
#20
ls高手
又学习了
又学习了
#21
说错了,18楼
#22
这是我建立EXCEL的代码,高手可以看下,想在红色地方填写代码,好象很麻烦的,试了几次都不行
_Application ExcelApp;
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();
}
_Application ExcelApp;
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();
}
#23
大家有这方面的资料的话也可以发给我撒,xiaofan_xj@163.com
分不够了再加!
分不够了再加!
#1
大小不确定吗?
那得先确定大小
csdtiofile
readstring()得到一行字符串,然后过滤,得到
反复readstring得到行数
然后动态分配
最后字符串操作,把一个个数字提取出来
好像我的方法不够好
那得先确定大小
csdtiofile
readstring()得到一行字符串,然后过滤,得到
反复readstring得到行数
然后动态分配
最后字符串操作,把一个个数字提取出来
好像我的方法不够好
#2
strtok, atof
#3
刚刚写了一个
float Number[256][256];
HANDLE hPltFile = NULL;
DWORD Length = 0;
DWORD HighLength;
DWORD ReadNum = 0;
int i=0;
int j=0;
char* Readed;
char* TmpRead;
hPltFile = ::CreateFile(szFileName,
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++;
}
#4
ls的代码很强大...
赞个..
赞个..
#5
参考我写的一篇文章:http://blog.csdn.net/clever101/archive/2006/05/22/749170.aspx
#6
参考我写的一篇文章:http://blog.csdn.net/clever101/archive/2006/05/22/749170.aspx
#7
参考我的一篇文章:
http://blog.csdn.net/clever101/archive/2006/05/22/749170.aspx
http://blog.csdn.net/clever101/archive/2006/05/22/749170.aspx
#8
怎么加分啊,郁闷 想给各位都加点分还不知道怎么加!
读文本到二维数组的问题还是优点迷糊,大家继续关注下子撒,等知道加分了自然补上
读文本到二维数组的问题还是优点迷糊,大家继续关注下子撒,等知道加分了自然补上
#9
加分都不会?看到现在这个页面,最后一条留言,在留言左下方,3个按钮,中间那个,“管理帖子”,按下,给分,然后按“结帖”。
PS:结帖要再输入一次密码
PS:结帖要再输入一次密码
#10
可是我还不想结帖呢,只是想让高手看在分数的面子上再帮帮我!
问题还么解决啊!
问题还么解决啊!
#11
我也遇到类似问题
期待...
期待...
#12
快结帖了,高手可以再给些意见!偶会酌情给分的
#13
你要什么意见?
#14
比如把二维数组中的数据向EXCEL填写的时候用什么函数或方法比较好?
具体可以给点代码撒
具体可以给点代码撒
#15
你自己试一下,通过excel现有工具把文本导入
应该可以成功
接着在网上搜有关excel ado 导入的
应该可以成功
接着在网上搜有关excel ado 导入的
#16
直接打开一个xls文件写进去
1.0 \t 1.1 \t 1.2 \r\n
2.0 \t 2.1 \t 2.2
1.0 \t 1.1 \t 1.2 \r\n
2.0 \t 2.1 \t 2.2
#17
EXCEL我已经建立起来了,用COM弄的
现在就差如何把二维数组给放进EXCEL了 这个不会!
现在就差如何把二维数组给放进EXCEL了 这个不会!
#18
先打开一个txt先把下面的写进去,完了后缀再改成xls
1.0 \t 1.1 \t 1.2 \r\n
2.0 \t 2.1 \t 2.2
1.0 \t 1.1 \t 1.2 \r\n
2.0 \t 2.1 \t 2.2
#19
这方法我倒没用过,不过我现在直接想往现成做好的EXCEL写入,不知道该怎么办
#20
ls高手
又学习了
又学习了
#21
说错了,18楼
#22
这是我建立EXCEL的代码,高手可以看下,想在红色地方填写代码,好象很麻烦的,试了几次都不行
_Application ExcelApp;
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();
}
_Application ExcelApp;
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();
}
#23
大家有这方面的资料的话也可以发给我撒,xiaofan_xj@163.com
分不够了再加!
分不够了再加!