2.如果是c 语言程序,可以使用fread将文件内容读取到内存里,然后通过\n来取到每一行,然后使用sscanf来获取浮点数;
如果是c++,可以直接使用getline函数获取一行数据,然后再调用sscanf来获取浮点数
3.处理完了关闭文件
如果是写文件,open打开,注意标志位设置成追加模式,然后按照格式组织好数据,可以使用sprintf来格式化数据到内存里,然后调用fwrite写入文件。
方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来。因为是用ServletContext读取文件路径,所以配置文件可以放入在web-info的classes目录中,也可以在应用层级及web-info的目录中。文件存放位置具体在eclipse工程中的表现是:可以放在src下面,也可放在web-info及webroot下面等。因为是读取出路径后,用文件流进行读取的,所以可以读取任意的配置文件包括xml和properties。缺点:不能在servlet外面应用读取配置信息。方式二:采用ResourceBundle类读取配置信息,
优点是:可以以完全限定类名的方式加载资源后,直接的读取出来,且可以在非Web应用中读取资源文件。缺点:只能加载类classes下面的资源文件且只能读取.properties文件。
方式三:采用ClassLoader方式进行读取配置信息
优点是:可以在非Web应用中读取配置资源信息,可以读取任意的资源文件信息
缺点:只能加载类classes下面的资源文件。
方法4 getResouceAsStream
XmlParserHandler.class.getResourceAsStream 与classloader不同
你好,文件流一个个读取字符可以使用ifstream对象的get函数,读取文件一行内容可使用getline函数。示例如下:string getFileContext(const string&filename)
{
string str
str.clear()
char buf[1024]
char *p
p = buf
memset(buf, 0, 1024)
ifstream in
in.open(filename)
while ((*p = in.get()) != EOF)
{
p++
}
cout <<"Buf" <<endl
puts(buf)
str += buf
cout <<str <<endl
in.close()
return str
}希望能够帮到你。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)