我必须从存储在计算机中的文本文件中读取c ++中的数据 然后根据空格对数据进行标记,以便每个单词成为一个单独的字符串
我已尝试过代码,但它不打印任何内容而不是黑色空白屏幕
// basic file operations
#include <iostream.h>
#include <fstream.h>
#include <conio.h>
//using namespace std;
int main ()
{
ofstream myfile;
myfile.open ("example.txt");``
myfile << "Writing this to a file.\n";
// myfile.close();`
getch();
return 0;
}
请帮助:(
答案 0 :(得分:1)
您发布的代码不会尝试向标准输出(std::cout
)写入任何内容。它打开一个文件(example.txt)并在其中写入“将其写入文件”,关闭文件,然后在退出程序之前等待按下按钮。您没有看到输出,因为您没有提供输出操作,也没有尝试从文件中读取任何内容。
答案 1 :(得分:1)
首先使用ifstream,因为您希望此文件作为输入而不是输出
第二,你发布的这段代码与这个问题有什么关系?
试试这个:
#include <string>
#include <iostream>
#include <fstream>
int main()
{
std::ifstream file("example.txt");
if (file.is_open())
{
std::string str;
while (std::getline(file, token, ' '))
{
//here str is your tokenized string
}
} else
{
std::cout << "Unable to open file";
}
}
getline将获得下一个字符串,直到行尾或“满足”
答案 2 :(得分:0)
此代码写入文件...也许有C ++方法可以做到这一点,但strtok做了你描述的。
答案 3 :(得分:0)
在谷歌搜索后一分钟内发现:)
using namespace std;
string STRING;
ifstream myReadFile;
myReadFile.open("Test.txt");
char output[100];
if (myReadFile.is_open())
{
while (!myReadFile.eof())
{
getline(myReadFile,STRING);
cout << STRING;
}
myReadFile.close();
}
编辑:修复了这个问题并成功测试了它。