在c ++中读取文件 [英] Reading From Files in c++
本文介绍了在c ++中读取文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我从c转移到c ++,想知道从文件中读取数据的最佳方式是什么?
来自c ++。有什么想法吗? fscanf()是可能的但是相当痛苦!
问候
Michael
Hi,
I moved to c++ from c, and wanted to know what the best way to read data
from files is in c++. Any thoughts? fscanf() is possible but fairly painful!
Regards
Michael
推荐答案
所以例如在文件中读取...
没有多少
fscanf(fp,"%s",variableAddr) ;
看起来很乱!
TIA
迈克尔。
//文件开始:
* 3DSMAX_ASCIIEXPORT 200
* COMMENT" AsciiExport Version 2.00 - Tue Apr 06 19:00 :45 2004"
* SCENE {
* SCENE_FILENAME" City_vertex_paint.max"
* SCENE_FIRSTFRAME 0
* SCENE_LASTFRAME 500
* SCENE_FRAMESPEED 30
* SCENE_TICKSPERFRAME 160
* SCENE_BACKGROUND_STATIC 0.0000 0.0000 0.0000
* SCENE_AMBIENT_STATIC 0.9804 0.9804 0.9804
}
* MATERIAL_LIST {
* MATERIAL_COUNT 13
* MATERIAL 0 {
* MATERIAL_NAME" SF Building"
* MATERIAL_CLASS多个/子对象
* MATERIAL_AMBIENT 0.1000 0.1000 0.1000
* MATERIAL_DIFFUSE 0.0392 0.0392 0.0392
* MATERIAL_SPECULAR 0.9000 0.9000 0.9000
* MATERIAL_SHINE 0.2500
* MATERIAL_SHINESTRENGTH 0.0500
* MATERIAL_TRANSPARENCY 0.0000
* MATERIAL_WIRESIZE 1.0000
* NUMSUBMTLS 6
* SUBMATERIAL 0 {
* MATERIAL_NAME" Top"
* MATERIAL_CLASS" Standard"
* MATERIAL_AMBIENT 0.1000 0.1000 0.1000
* MATERIAL_DIFFUSE 0.0392 0.0392 0.0392
* MATERIAL_SPECULAR 0.9000 0.9000 0.9000
* MATERIAL_SHINE 0.2500
* MATERIAL_SHINESTRENGTH 0.0500
* MATERIAL_TRANSPARENCY 0.0000
* MATERIAL_WIRESIZE 1.0000
* MATERIAL_SHADING Blinn
* MATERIAL_XP_FALLOFF 0.0000
so for example reading in the file...
without many
fscanf(fp,"%s",variableAddr);
it just looks very messy!
TIA
Michael.
//File Start:
*3DSMAX_ASCIIEXPORT 200
*COMMENT "AsciiExport Version 2.00 - Tue Apr 06 19:00:45 2004"
*SCENE {
*SCENE_FILENAME "City_vertex_paint.max"
*SCENE_FIRSTFRAME 0
*SCENE_LASTFRAME 500
*SCENE_FRAMESPEED 30
*SCENE_TICKSPERFRAME 160
*SCENE_BACKGROUND_STATIC 0.0000 0.0000 0.0000
*SCENE_AMBIENT_STATIC 0.9804 0.9804 0.9804
}
*MATERIAL_LIST {
*MATERIAL_COUNT 13
*MATERIAL 0 {
*MATERIAL_NAME "SF Building"
*MATERIAL_CLASS "Multi/Sub-Object"
*MATERIAL_AMBIENT 0.1000 0.1000 0.1000
*MATERIAL_DIFFUSE 0.0392 0.0392 0.0392
*MATERIAL_SPECULAR 0.9000 0.9000 0.9000
*MATERIAL_SHINE 0.2500
*MATERIAL_SHINESTRENGTH 0.0500
*MATERIAL_TRANSPARENCY 0.0000
*MATERIAL_WIRESIZE 1.0000
*NUMSUBMTLS 6
*SUBMATERIAL 0 {
*MATERIAL_NAME "Top"
*MATERIAL_CLASS "Standard"
*MATERIAL_AMBIENT 0.1000 0.1000 0.1000
*MATERIAL_DIFFUSE 0.0392 0.0392 0.0392
*MATERIAL_SPECULAR 0.9000 0.9000 0.9000
*MATERIAL_SHINE 0.2500
*MATERIAL_SHINESTRENGTH 0.0500
*MATERIAL_TRANSPARENCY 0.0000
*MATERIAL_WIRESIZE 1.0000
*MATERIAL_SHADING Blinn
*MATERIAL_XP_FALLOFF 0.0000
所以例如在文件中阅读...
没有多少
fsca nf(fp,"%s",variableAddr);
看起来很乱!
TIA
迈克尔。
//文件开始:
* 3DSMAX_ASCIIEXPORT 200
*评论AsciiExport Version 2.00 - Tue Apr 06 19:00:45 2004
* SCENE {
* SCENE_FILENAME" City_vertex_paint.max"
* SCENE_FIRSTFRAME 0
* SCENE_LASTFRAME 500
* SCENE_FRAMESPEED 30
* SCENE_TICKSPERFRAME 160
* SCENE_BACKGROUND_STATIC 0.0000 0.0000 0.0000
* SCENE_AMBIENT_STATIC 0.9804 0.9804 0.9804
}
* MATERIAL_LIST {
* MATERIAL_COUNT 13
* MATERIAL 0 {
* MATERIAL_NAME" SF Building"
* MATERIAL_CLASS" Multi / Sub-Object"
* MATERIAL_AMBIENT 0.1000 0.1000 0.1000
* MATERIAL_DIFFUSE 0.0392 0.0392 0.0392
* MATERIAL_SPECULAR 0.9000 0.9000 0.9000
* MATERIAL_SHINE 0.2500
* MATERIAL_SHINESTRENGTH 0.0500
* MATERIAL_TRANSPARENCY 0.0000
* MATERIAL_WIRESIZE 1.0000
* NUMSUBMTLS 6
* SUBMATERIAL 0 {
* MATERIAL_NAME" Top"
* MATERIAL_CLASS" Standard"
* MATERIAL_AMBIENT 0.1000 0.1000 0.1000
* MATERIAL_DIFFUSE 0.0392 0.0392 0.0392
* MATERIAL_SPECULAR 0.9000 0.9000 0.9000
* MATERIAL_SHINE 0.2500
* MATERIAL_SHINESTRENGTH 0.0500
* MATERIAL_TRANSPARENCY 0.0000
* MATERIAL_WIRESIZE 1.0000
* MATERIAL_SHADING Blinn
* MATERIAL_XP_FALLOFF 0.0000
so for example reading in the file...
without many
fscanf(fp,"%s",variableAddr);
it just looks very messy!
TIA
Michael.
//File Start:
*3DSMAX_ASCIIEXPORT 200
*COMMENT "AsciiExport Version 2.00 - Tue Apr 06 19:00:45 2004"
*SCENE {
*SCENE_FILENAME "City_vertex_paint.max"
*SCENE_FIRSTFRAME 0
*SCENE_LASTFRAME 500
*SCENE_FRAMESPEED 30
*SCENE_TICKSPERFRAME 160
*SCENE_BACKGROUND_STATIC 0.0000 0.0000 0.0000
*SCENE_AMBIENT_STATIC 0.9804 0.9804 0.9804
}
*MATERIAL_LIST {
*MATERIAL_COUNT 13
*MATERIAL 0 {
*MATERIAL_NAME "SF Building"
*MATERIAL_CLASS "Multi/Sub-Object"
*MATERIAL_AMBIENT 0.1000 0.1000 0.1000
*MATERIAL_DIFFUSE 0.0392 0.0392 0.0392
*MATERIAL_SPECULAR 0.9000 0.9000 0.9000
*MATERIAL_SHINE 0.2500
*MATERIAL_SHINESTRENGTH 0.0500
*MATERIAL_TRANSPARENCY 0.0000
*MATERIAL_WIRESIZE 1.0000
*NUMSUBMTLS 6
*SUBMATERIAL 0 {
*MATERIAL_NAME "Top"
*MATERIAL_CLASS "Standard"
*MATERIAL_AMBIENT 0.1000 0.1000 0.1000
*MATERIAL_DIFFUSE 0.0392 0.0392 0.0392
*MATERIAL_SPECULAR 0.9000 0.9000 0.9000
*MATERIAL_SHINE 0.2500
*MATERIAL_SHINESTRENGTH 0.0500
*MATERIAL_TRANSPARENCY 0.0000
*MATERIAL_WIRESIZE 1.0000
*MATERIAL_SHADING Blinn
*MATERIAL_XP_FALLOFF 0.0000
Michael写道:
Michael wrote:
所以例如在文件中阅读...
没有很多
fscanf(fp,"%s" ,变量Addr);
它看起来非常凌乱!
TIA
迈克尔。
< snip>
so for example reading in the file...
without many
fscanf(fp,"%s",variableAddr);
it just looks very messy!
TIA
Michael.
<snip>
查看iostreams,especi ally std :: ifstream。
它们可以像std :: cout一样使用。
- Pete
Check out iostreams, especially std::ifstream.
They can be used just like std::cout.
- Pete
>
这篇关于在c ++中读取文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文