// in_file_name是文件名,file_name是保存读入数据的vector
void readTxt(string in_file_name, vector<string>&file_name) {
ifstream in_file
in_file.open(in_file_name.data())
assert(in_file.is_open())
string item
while (getline(in_file, item)) {//以行的形式读入
file_name.push_back(item)//保存每一行
//cout <<item <<endl
}
}
2.读入string转为int型,形成二维vector
#include <fstream>孙蔽
#include <sstream>
#include<iostream>
#include<vector>纳竖
#include<assert.h>
using namespace std
void readTxt(string in_file_name, vector<int>&file_name) {
ifstream in_file
in_file.open(in_file_name.data())
assert(in_file.is_open())
string item
int item1
cout <<in_file_name <<endl
while (getline(in_file, item)) {
item1 = stoi(item)
file_name.push_back(item1)
//cout <<item <洞凯大<endl
}
}
int main()
{
vector<int>a
char file_name[1024]
vector<vector<int>>matrix
for (int i = 1i <2i++) {
snprintf(file_name, sizeof(file_name), "signal_%d.txt",i)
//cout <<file_name<<endl
readTxt(file_name, a)
matrix.push_back(a)
}
cout <<a.size()<<endl
//cout <<a[0] <<endl
}
3.将数组写入txt
#include<iostream>
#include<fstream>
using namespace std
void main(){
for (i = 0i <ni++)
{
x[i] = i
}
ofstream out("output.txt")
for (i = 0i <ni++)
{
out <<x[i]<<'\n'
}
out.close()//使用完毕一定要关闭文件流
}
这是基本的数据结构 *** 作和文件 *** 作问做枯题:
以写入模式打开目标TXT文件的文件流
使用迭代器遍历vector,同时将迭代器提领之后重定向到1中打开的文件流
实例代码如下:
#include <iostream>#include <fstream>
#include <string>
#include <vector>
using namespace std
int main(int 前伍argc, char** argv)
{
string a="hello "
string b="world "
string c="!\n"
vector<string> e
e.push_back(a)
e.push_back(b)
e.push_back(c)
ofstream fout
fout.open("a.txt",ios_base::out)
if(fout.is_open())
{
for(vector<string>::iterator i=e.begin(),end=e.end() i!=end ++i)
{
fout<<(*i)
}
}
fout.close()
return 0
}
补充说明:
如果想逆序输出vector 可以使用逆向迭代器。
对于慧胡或文件的 *** 作更多细节请参考你的教材或者c++在线文档的实例代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)