从txt文件中读取一行字符串
如题目所示,就是从指定的txt文档中读取出一行文字,然后输出。
- C/C++ code
#include<string>#include<iostream>#include<fstream>using namespace std;ifstream& open_file(ifstream &in,const string &file){ in.close(); in.clear(); in.open(file.c_str()); return in;}int main(){ ifstream infile; string textname; string temp; vector<string> ivec; printf("请输入语句所在的文件名:\n"); scanf("%s",textname); open_file(infile,textname); getline(infile,temp); cout<<temp<<endl; }代码就是上面这样,但是调试时会出现内存异常的问题。
求解。
[解决办法]
- C/C++ code
scanf("%s",textname);
[解决办法]
- C/C++ code
#include<string>#include<iostream>#include<fstream>#include <vector>//楼主你这里少了这个头文件,都不知道你这样还能编译,调试异常?using namespace std;ifstream& open_file(ifstream &in,const string &file){ in.close(); in.clear(); in.open(file.c_str()); return in;}int main(){ ifstream infile; string textname; string temp; vector<string> ivec; printf("请输入语句所在的文件名:\n"); //scanf("%s",textname);//scanf在这里的话会提示警告,而且scanf你用的是ms 的编译器VS的话就是被认为不是安全的函数 cin>>textname; open_file(infile,textname); getline(infile,temp); cout<<temp<<endl; return 0;//下面没有返回!!}