2 zhuyongqingacm zhuyongqingacm 于 2016.02.02 20:13 提问

vs2013 文件操作为什么fstream没有绑定这个文件
//#define _CRT_SECURE_NO_DEPRECATE
//#include<stdio.h>
#include<vector>
#include<iostream>
#include<fstream>
#include<string>
#include<string.h>
using namespace std;
vector<int> a;
//int transf(int x,int index)
//{
//  int sum = 0;
//  while (x != 0)
//  {
//      sum += x%index;
//      x = x / index;
//  }
//  return sum;
//}
int main()
{
    string file = "‪C:\\Users\\june\\Desktop\\output1.txt";
    fstream out;// open("‪C:\\Users\\june\\Desktop\\output1.txt");
    ////out.open("‪C:\\Users\\june\\Desktop\\output1.txt");
    out.open(file.c_str(), ios::in);
    out << 1 << endl;

    return 0;

}

5个回答

wangyu088
wangyu088   2016.02.03 10:56
已采纳

你open的方式不对,ios::in是从文件到内存,而且要用>>。写到文件中用的是ios::out。另外,切记先打开文件,然后操作文件,最后关闭文件。养成良好的编程习惯很重要。
int main()
{
fstream outfile("C:\Users\june\Desktop\output1.txt",ios::out);
outfile<<1<<endl;
outfile.close();

return 0;

}

zhuyongqingacm
zhuyongqingacm 太对了,是ios状态错了
2 年多之前 回复
lm_whales
lm_whales   Rxr 2016.02.02 23:40

out.open(file.c_str(), ios::in);
out << 1 << endl;
你这是打算做啥?读方式打开。向里面写数据?i**ios::in**
缺省方式,和,明确表示os::in 都表示要以读方式打开文件,于是只能读
要用>> 读出数据,而不是<<写入数据。ios::out 是写方式打开

a1004032158
a1004032158   2016.02.02 23:54

ios::in 表示读方式打开,你用<<表示向文件写东西,不一致

caozhy
caozhy   Ds   Rxr 2016.02.02 21:25

斜杠没有看出什么问题。但是你是不是用vc++ 6.0在win7以上兼容方式运行的,那样的话,你的路径会被重新定位,而不是在桌面上。

zhuyongqingacm
zhuyongqingacm 我用的vs2013,操作系统是win8。应该不是操作系统的事,之前用vs2010写的时候可以
2 年多之前 回复
jgt_insect
jgt_insect   2016.02.02 20:18

把双引号内的路径单斜杠改双斜杠试试

zhuyongqingacm
zhuyongqingacm 并不行
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C/C++文件操作效率比较——FILE/fstream
利用GetTickTount函数进行效率测试,对比C/C++在读写文本文件和二进制文件时耗时大小,程序执行时间获取方式参见我另一篇C/C++获取程序执行时间的五种方式比较。 电脑配置如下:(CPU四核八线程) 代码如下: #include #include #include #include #include using namespace std; voi
[转]c++: fstream文件操作及对二进制文件的操作
 要写一些简单的日志到文本文件中,参考了以下两篇文章:ifstream 和 ofstream( 引用)C++标准库 之 iostream库的学习笔记(二)fstream库以及ofstream类的使用ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I
C++文件操作无法写入的问题
今天测试C++文件操作时,始终无法将数据写入文件中,百思不得其解,最后发现文件操作完成后一定要将文件关闭,即调用close()函数。 #include #include #include using namespace std;int main(){/*fstream file1;ofstream file2;file1.open("A.dat", ios::in);file2.open("ab
C++文件流I/O操作:fstream类
一.简介     所谓“文件”,一般是指存在外部介质上的数据的集合,一批数据是以文件的形式存放在外部介质(如磁盘、光盘和U盘)上的,操作系统以文件为单位对数据进行管理。对用户来说,常用的文件有两大类:程序文件、数据文件。在程序运行过程中,常常需要将一些数据输出到磁盘上存起来,以后需要时再从磁盘中输入到计算机内存,这种磁盘文件就是数据文件,fstream类操作对象就是这种数据文件。     fs
C++ fstream文件读写操作
fstream文件读写操作实例: #include #include #include using namespace std; int main() { //ios::app:   以追加的方式打开文件 //ios::ate:   文件打开后定位到文件尾,ios:app就包含有此属性 //ios::binary:  以二进制方式打开文件,缺省的方式是文本方式 //ios
C++利用fstream读写文件
/* C++的ifstream和ofstream 读文件写文件操作 */ #include #include #include using namespace std; int main() { //文件名 string filename = "map_file.txt"; //如果文件名是string类型的调用c_str成员获取C风格字符串 //因为IO标准库是使用C风格字符串
<fstream>文件输入输出基础操作
由于刚学C++,在此记录一些勉强够用的文件流输入输出操作 先放一段代码: #include #include #include using namespace std; string promt_file_string(ifstream &infile,string promt="input:"){ while(true){ cout<<promt; strin
boost 文件内容读写
    1使用boost::filesystem::fstream    #include &amp;lt;boost/filesystem.hpp&amp;gt; using namespace boost::filesystem; struct history{ history(){} ~history(){} uint32_t m_id; uint32_t m_kk; ...
杂谈--vc++6.0用fstream区别于VS
个人感觉vc++6.0的功能感觉相比VS还是逊色了不少,好多格式过于陈旧,并含有令人崩溃的bug。在vc++6.0里较好的读写文件方式如下:(需要包含头文件:stdio.h stdlib.h) FILE *fp=fopen("...filepath...","r/w/a/r+/w+/a+"); fputs("...sth...",fp); fclose(fp); 但是如想像
fstream的close与clear先后次序的问题
 fstream::close:  Calls the close member function for the associated filebuf object. This function, in turn, flushes any waiting output, closes the file, and disconnects the file from the filebu