C++逗号分隔的Txt文件
C++ Comma Delimited Txt File
我正在使用我的简单系统,该系统使用.txt文件作为C++中的数据库。在我的情况下,我的代码正在工作,但输出有太多重复。。我的系统显示的名称列表是文本文件(第二行用逗号分隔)。
这是我的txt文件示例:
2015-1111,Christian Karl,M
2015-1112,Joshua Evans,M
2015-1115,Jean Chloe,F
2015-1113,Shairene Traxe,F
2015-1114,Paul Howard,M
我的愿望输出:
Christian Karl
Joshua Evans
Jean Chloe
Shairene Traxe
Paul Howard
问题来了。。它有很多重复。。我的当前输出:
Christian Karl
Christian Karl
Christian Karl
Joshua Evans
Joshua Evans
Joshua Evans
Jean Chloe
Jean Chloe
Jean Chloe
Shairene Traxe
Shairene Traxe
Shairene Traxe
Paul Howard
Paul Howard
Paul Howard
我试着调试了很多次代码,但似乎什么都没发生。。
#include <string>
#include <vector>
#include <functional>
#include <iostream>
#include <fstream>
using namespace std;
void split(const string& s, char c,
vector<string>& v) {
string::size_type i = 0;
string::size_type j = s.find(c);
while (j != string::npos) {
v.push_back(s.substr(i, j-i));
i = ++j;
j = s.find(c, j);
if (j == string::npos)
v.push_back(s.substr(i, s.length( )));
}
}
int main( ) {
ifstream in("db.txt");
char str[255];
while(in) {
in.getline(str, 255); // delim defaults to 'n'
vector<string> v;
split(str, ',', v);
for (int i = 0; i < v.size( ); ++i) {
cout << v[1] << 'n';
}
}
system("pause");
return 0;
}
有谁能帮我吗?谢谢
删除此
for (int i = 0; i < v.size( ); ++i) {
cout << v[1] << 'n';
}
并使用这个替代
if(v.size()>0){
cout << v[1] << 'n';
}
else{
break;
}
或者这个更好
cout << v[1] << endl;
相关文章:
- 如何将 txt 文件中的行分隔为组件C++
- 无法打开.txt文件
- 如何使用CLion在Mac上创建一个新的.txt文件
- 使用fstream对txt文件中的数字进行循环
- Visual Studio在尝试读取resource.txt文件时崩溃
- 如何从txt文件中读取多个不同长度的数组?
- 在一次迭代中从 txt 文件中读取多行
- 通过比较C++中的行在 txt 文件中搜索的最简单方法是什么?
- 写入超过 1GB 的.txt文件时出现奇怪的行为
- 视觉 如何循环访问C++中遵循类似格式的多个.txt文件?
- txt 文件中浮点数的最大和最小值
- 从.txt文件中读取浮点型数字并在公式中使用它们
- C++将文本从.txt文件解析为变量
- 在树结构.txt文件中搜索节点
- 为什么我无法打开/读取从 Python 调用的 C 扩展名中的 txt 文件?
- 在 txt 文件中显示前两个数字的程序
- 如何从具有两列的.txt文件创建并行数组?
- 如何使用c ++读取带有非英文字母的*.txt文件?(国际化)
- 如何像在 C++ 中处理数组一样对 .txt 文件中的字符进行寻址?
- 如何读取 TXT 文件并仅将 int 存储在 C 中