C++ 如何在C++;以某种模式存储并以字符串形式存储?
我想读txt文件的每一行,类似于这样的东西 1190/2132 123/23123 45C++ 如何在C++;以某种模式存储并以字符串形式存储?,c++,C++,我想读txt文件的每一行,类似于这样的东西 1190/2132 123/23123 45 我想阅读整行内容,然后将它们存储在三个单独的字符串中,以便将来用于构建树。我现在正在使用fgets,但是在将其放入字符串时出错。我应该怎么做? 你已经标记了C++的问题,但是你说你在使用 fgs< /Cord>,所以我不确定你想要哪一个。 使用C stdio函数: fscanf(file, "%s %s %s", str1, str2, str3); 使用C++流: input_stream >&g
我想阅读整行内容,然后将它们存储在三个单独的字符串中,以便将来用于构建树。我现在正在使用fgets,但是在将其放入字符串时出错。我应该怎么做? 你已经标记了C++的问题,但是你说你在使用<代码> fgs< /Cord>,所以我不确定你想要哪一个。 使用C stdio函数:
fscanf(file, "%s %s %s", str1, str2, str3);
使用C++流:
input_stream >> str1 >> str2 >> str3;
试试这个:
std::string line;
while(std::getline(file, line))
{
std::stringstream linestream(line);
std::string word1, word2, word3;
line >> word1 >> word2 >> word3;
// Store words
}
这可能会起作用:
string a, b, c;
getline(cin, a, '/')
getline(cin, b, ' ')
//will only get executed if the third string exist
if(cin >> c){}
让它工作所需的东西:
- 包括,以便可以使用输入文件流打开文本文件。
- 如果您还想在屏幕上显示一些信息,请包括,但这只是可选的。
- 代码部分:
- 定义长度为K的字符数组,其中K可以定义为宏
- 打开输入文件流
- 测试是否打开,如果打开,读取一行并解析该行,直到EOF
- 如果未打开,返回-1
int fileread(const char*文件名、数据类型和数据/*保存读取信息的某个对象。*/)
{
字符lntxt[MAX_lntxt_LENGTH_CPTIMGIDX];//4)
ifstream inSR(_filename);//5)
if(inSR.is_open())//6)
{
//如果文件是打开的
而(inSR.peek()>0)
{
inSR.getline(lntxt,最大lntxt,最大长度CPTIMGIDX);
//delim可以是一组可能的delim
char*strTk=strtok(lntxt,_delim);
while(strTk!=NULL)
{
strTk=strtok(NULL,delim);
如果(strTk!=NULL)
//处理数据的代码,即一些算术运算
//或者将其存储在其他变量或对象中**
}
inSR.close();
返回0;
}
其他//7)
{
难道我的回答几乎是一样的吗!:)
避免使用以下划线开头的标识符。
int fileread(const char* filename, dataType& data /* some object saving the read info. */)
{
char lntxt[MAX_LNTXT_LENGTH_CPTIMGIDX]; // 4)
ifstream inSR(_filename); // 5)
if (inSR.is_open()) // 6)
{
// If file is open
while (inSR.peek()>0)
{
inSR.getline(lntxt, MAX_LNTXT_LENGTH_CPTIMGIDX);
// delim can be a set of possible delim
char* strTk = strtok(lntxt, _delim);
while (strTk != NULL)
{
strTk = strtok(NULL, _delim);
if (strTk != NULL)
// Your code to process the data, i.e. some arithmetic operation
// or store it in other variables or objects.**
}
inSR.close();
return 0;
}
else // 7)
{
cout <<"The file " <<_filename <<" can not be opened.";
return -1;
}
}