
c++ txt 文件读写 读入文件到一个变量
最近在写一个有关文件读写的程序,搞了好久还是没有弄出来。具体的题目如下:有一个.txt文件,其中含有若干个换行符,且位置未知。从中读入所有的字符到一个变量,而且这个变量里...
最近在写一个有关文件读写的程序,搞了好久还是没有弄出来。具体的题目如下:
有一个.txt文件,其中含有若干个换行符,且位置未知。从中读入所有的字符到一个变量,而且这个变量里面要包含有换行符。简单的说,就是根据这个变量可以还原出整个文件。当然,我要用这个变量处理的不止这些。只要能得到这样的一个变量就行了,不管中间用到了什么函数或者其他的什么变量。越简洁的越好,如果有用到系统函数也大致说明一下。
字符的个数是预先设定好的,有80万个字符。 展开
有一个.txt文件,其中含有若干个换行符,且位置未知。从中读入所有的字符到一个变量,而且这个变量里面要包含有换行符。简单的说,就是根据这个变量可以还原出整个文件。当然,我要用这个变量处理的不止这些。只要能得到这样的一个变量就行了,不管中间用到了什么函数或者其他的什么变量。越简洁的越好,如果有用到系统函数也大致说明一下。
字符的个数是预先设定好的,有80万个字符。 展开
5个回答
展开全部
把文件存储到一个变量里?
这么做不好,
因为不知道文件有多大,
在内存中应该申请多大的内存空间,
无法确定。
要做文件操作的话,
一般情况下是开辟出一块固定大小的内存缓冲区,
通过这个缓冲区来处理文件中的内容。
剩下的就是文件操作,
没什么难的了。
这么做不好,
因为不知道文件有多大,
在内存中应该申请多大的内存空间,
无法确定。
要做文件操作的话,
一般情况下是开辟出一块固定大小的内存缓冲区,
通过这个缓冲区来处理文件中的内容。
剩下的就是文件操作,
没什么难的了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <fstream>
#include <iostream>
using namespace std;
// 获取文件长度
long file_length(char const *path)
{
ifstream file(path, ios::binary);
if (!file)
{
cerr << "Can not open the file!" << endl;
return 0;
}
file.seekg(0L, ios::end);
streampos end = file.tellg();
file.close();
return long(end);
}
int main(int argc, char* argv[])
{
long length = file_length("test.txt");;
char *content;
ifstream infile("test.txt");
if (!infile)
{
cerr << "Can not open the file!" << endl;
return -1;
}
content = new char[length+1];
memset(content, 0, length+1);
infile.read(content, length);
infile.close();
cout << content << endl;
delete[] content;
return 1;
}
#include <iostream>
using namespace std;
// 获取文件长度
long file_length(char const *path)
{
ifstream file(path, ios::binary);
if (!file)
{
cerr << "Can not open the file!" << endl;
return 0;
}
file.seekg(0L, ios::end);
streampos end = file.tellg();
file.close();
return long(end);
}
int main(int argc, char* argv[])
{
long length = file_length("test.txt");;
char *content;
ifstream infile("test.txt");
if (!infile)
{
cerr << "Can not open the file!" << endl;
return -1;
}
content = new char[length+1];
memset(content, 0, length+1);
infile.read(content, length);
infile.close();
cout << content << endl;
delete[] content;
return 1;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你不用使用C++自己编程。你可以用WORD自己搞定。如果是考试题让你这么做的话。那就没招了。混个分,闪人。如果是自己用的话 我可以告诉你WORD怎么搞
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string aline;
ifstream fin("xxoo.txt");
getline( fin, aline);
然后一行就在aline里了
ifstream fin("xxoo.txt");
getline( fin, aline);
然后一行就在aline里了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有openfile函数,打开txt直接用指针考就行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询