1. NS方程怎么写
黑火药着火时,发生如下化学反应:
2KNO3+ S + 3C ==== K2S + N2 ↑+ 3CO2 ↑
硝酸钾分解放出的氧气,使木炭和硫磺剧烈燃烧,瞬间产生大量的热和氮气、二氧化碳等气体。由于体积急剧膨胀,压力猛烈增大,于是发生了爆炸。据测,大约每4克黑火药着火燃烧时,可以产生280升气体,体积可膨胀近万倍。在有限的空间里,气体受热迅速膨胀引起爆炸。在爆炸时,固体生成物的微粒分散在气体里,所以产生大量的烟。由于爆炸时有K2S固体产生,往往有很多浓烟冒出,因此得名黑火药。
黑火药属民用爆炸物品,爆燃瞬间温度可达1000C以上,破坏力极强。黑火药敏感性强,易燃烧,火星即可点燃。
黑火药的燃烧的产物大部分是二氧化碳和水,还有氮氧化物,还有少量CO、K2CO3、K2SO4和K2S2等,生成物中有许多固体物质残渣
2. 如何使用 NSFileHandle 写文件
利用NSFilehandle类提供的方法,允许更有效地使用文件。
一般而言,处理文件时都要经历以下三个步骤: 1.打开文件,并获取一个NSFileHandle对象,以便在后面的I/O操作中引用该文件 2.对打开的文件执行I/O操作(读取、写入、更新) 3.关闭文件 下面总结了一些常用的NSFileHandle的方法,在这个表中,fh是一个NSFileHandle对象,data是一个NSData对象,path是一个NSString 对象,offset是易额Unsigned long long变量。 上表中并为列出获取NSFileHandle以用于标准输入、标准输出、标准错误和空设置的方法。
他们的格式为fileHandleWithDevice,其中Device可以是StandardInput、StandardOutput、StandardError或者NullDevice。 应该注意到,NSFileHandle类并没有提供创建文件的功能。
必须使用NSFileManager方法来创建文件。因此,方法fileHandleForWritingAtPath:和hfileHandleUpdatingAtPath:都假定文件已经存在,否则返回nil。
对于这两个方法,文件的偏移量都设为文件的开始,所以都是在文件的开始位置开始写入(或更新模式的读取)。另外,如果在UNIX系统下编程应该注意,打开用于读取的文件,不要截断文件;如果想要这么做,不得不自己完成这项操作。
下面的代码用于打开已经创建好的文件testfile文件,读取它的内容,并将其复制到名为testout的文件中。 #import int main(int argc, const char * argv[]) { @autoreleasepool { NSFileHandle *inFile, *outFile; NSData *buffer; //[[NSFileManager defaultManager] createFileAtPath:@"test.txt" contents:@"sdfjdsfdf" attributes:nil]; //打开testfile.txt文件用于读取操作 inFile = [NSFileHandle fileHandleForReadingAtPath:@"testfile.txt"]; if(inFile == nil) { NSLog(@"Open of testfile.txt for reading failed!"); return 1; } //创建一个文件用于写数据(第一次是必要的) [[NSFileManager defaultManager] createFileAtPath:@"testout.txt" contents:nil attributes:nil] ; //打开testout.txt文件用于写入操作 outFile = [NSFileHandle fileHandleForWritingAtPath:@"testout.txt"]; if(outFile == nil) { NSLog(@"Open of testout.txt for writing failed!"); return 2; } // [outFile truncateFileAtOffset:0]; //从inFile中读取数据,并将其写入到outFile中 buffer = [inFile readDataToEndOfFile]; [outFile writeData:buffer]; //关闭两个文件 [inFile closeFile]; [outFile closeFile]; //验证文件的内容是否写入 NSLog(@"%@",[NSString stringWithContentsOfFile:@"testout.txt" encoding:NSUTF8StringEncoding error:nil]); } return 0; }。