首页 > 试题广场 >

要求打开文件D:\file.dat,并能够写入数据,正确的语

[单选题]
要求打开文件D:\file.dat,并能够写入数据,正确的语句是( )?
  • ifstream infile("D:\\file.dat", ios::in );
  • ifstream infile("D:\\file.dat", ios::out );
  • ofstream outfile("D:\\file.dat", ios::in );
  • fstream infile("D:\\file.dat", ios::in|ios::out );
牛客网的题目感觉好模糊啊.....
发表于 2020-09-17 22:15:45 回复(0)
蒙的,感觉是这个意思:

如果想以输入方式打开,就用ifstream来定义;

如果想以输出方式打开,就用ofstream来定义;

如果想以输入/输出方式来打开,就用fstream来定义。

ios::in:    文件以输入方式打开(文件数据输入到内存)
ios::out:   文件以输出方式打开(内存数据输出到文件)
可以用“或”把以上属性连接起来,如ios::in|ios::out
发表于 2018-05-09 11:09:31 回复(2)

参考百度以及博客有了一个大概理解:
      文件的操作过程分五步:
      定义输入输出流---->打开文件---->读写---->关闭文件。

      同时创建文件写入流,需通过ofstream来需通过,读取流,则需通过ifstream来定义。
      fstream则表示文件的读写流。
      可以拆分理解为控制台输出,到文件的写入。
      而后通过iso::in或out在打开文件这一步去设置模式,常见有in,out及app(追加)。

故而,本题中:
     A,选项创建了文件的读取流,且文件打开模式是读取方式,不符合。
     B,选项创建了文件的读取流,不符合。
     C,选项创建了文件的写入流,但是文件打开方式为读取方式,故而也不符合。
     D,选项创建了文件的读取写入流,同时文件打开方式也为可读可写方式,故而选D。


发表于 2019-07-31 15:20:09 回复(0)
A选项是,从文件输入到内存中,也就是读,所以实现不了“写入数据
C选项最后应该是  ios::out
今天陕西天气很好,砖还是烫手https://blog.csdn.net/weixin_42831199/article/details/82047874
发表于 2019-08-15 21:23:38 回复(0)
这题目应该是考可以同时读写吧,ofstream文件模式设置in也能输出(程序数据写入文件),ifstream文件模式设置out也能输入(文件数据写入程序)
编辑于 2020-03-16 11:01:15 回复(1)
文件操作步骤:  定义输入输出流---->打开文件---->读写---->关闭文件。       同时创建文件写入流,需通过ofstream来需通过,读取流,则需通过ifstream来定义。       fstream则表示文件的读写流。       可以拆分理解为控制台输出,到文件的写入。       而后通过iso::in或out在打开文件这一步去设置操作方式,常见有in(控制台输入,即文件的读取),out(控制台输出,即文件的写入)及app(追加)。
发表于 2019-08-09 02:57:28 回复(0)
打开文件代表着输出,写入数据代表着输入,所以要用fstream
发表于 2021-03-03 15:50:14 回复(0)
整理一下ofstream相关
发表于 2021-01-12 19:35:25 回复(0)
写入操作,所以不能用ifstream流,打开方式不能是ios::in。
发表于 2020-03-22 11:44:13 回复(0)
蒙的,感觉是这个意思: 如果想以输入方式打开,就用ifstream来定义; 如果想以输出方式打开,就用ofstream来定义; 如果想以输入/输出方式来打开,就用fstream来定义。 ios::in:    文件以输入方式打开(文件数据输入到内存) ios::out:   文件以输出方式打开(内存数据输出到文件) 可以用“或”把以上属性连接起来,如ios::in|ios::out
发表于 2018-12-02 17:06:19 回复(0)
上面不是只要输入吗。。希望大佬解释一下
发表于 2018-10-12 10:22:28 回复(2)

解析如下:

  1. 文件输入流 ifstream 用于读取文件,不支持写入操作。选项 A 和 B 分别使用了 ifstream,因此都是错误的语句;
  2. 文件输出流 ofstream 用于写入文件,不支持读取操作。选项 C 使用了 ofstream,也是错误的语句;
  3. 文件输入输出流 fstream 可以同时支持读取和写入操作,因此选项 D fstream infile("D:\file.dat", ios::in|ios::out ); 是正确的语句。ios::in|ios::out 表示以可读写方式打开文件。

因此,选项 D 是正确的语句。

编辑于 2023-11-09 19:14:24 回复(0)
今天长沙天气很好,就是砖有点烫手
发表于 2022-08-10 14:57:11 回复(0)
假设输入in 和输出out 是以程序或者说内存数据为基准的,in(输入)是输入到程序里,out是从程序里输出去,然后前后对应就行了
发表于 2019-06-29 19:06:50 回复(0)
A是从文件读入数据到内存。
B是ifstream和ios::out不匹配。
C同样是不匹配。
D既可以从文件读入数据,也可以输出数据到文件。
发表于 2018-11-25 20:56:04 回复(0)