c++ - C++,将矢量数据放入 .csv 文件
问题描述
我正在做一些简单的事情,我希望它能够获取向量中的所有内容并将其放入 .CSV 文件中,其中每一行都是一个新向量,列是向量中的每个位置。
这是我当前的代码,但是每当我打开 CSV 文件时,它都是空的。
任何帮助将不胜感激!
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main()
{
ofstream myfile;
myfile.open("test.csv");
vector<int> arrayOne = { 10, 20, 30, 40, 50 };
for (int i = 0; i < arrayOne.size(); i++)
{
myfile << arrayOne.at(i) << ",";
}
cin.ignore();
cin.ignore();
return 0;
}
解决方案
由于标记的答案在它要求 OP 的功能中是完全正确的,但在代码中却是极大的衍生物。这可能导致无法调试的代码或改变 OP 预期的行为。请考虑以下代码:
#include <iostream>
#include <fstream>
#include <vector>
// removed "using namespace std"
int main()
{
std::ofstream myfile; // added "std::"
myfile.open("test.csv");
std::vector<int> arrayOne { 10, 20, 30, 40, 50 };
for (int i = 0; i < arrayOne.size(); i++) { // added "{"
myfile << arrayOne.at(i) << ",";
} // added "{"
myfile.close(); // <- note this correction!!
std::cin.ignore(); // added this
std::cin.ignore(); // added this
return 0;
}
- 考虑不使用
using namespace std
. 这个命名空间包含数十万个函数。您可能会与其中一个发生碰撞,这很难调试。 - 标记的答案删除
{}
了for-loop
. 永远不要这样做,当你在你的for-loop
. 此行不在循环中执行。 - 答案还两次从 OP 中删除了重要代码:
std::cin.ignore();
推荐阅读
- python - 如何在另一个函数文件中使用函数文件中的变量?
- node.js - Mongo Aggregate 使用 $geonear 和子文档表
- csv - 来自 encoding/csv pkg 的写入函数停止写入 csv 文件
- java - Java中的IdentityHashMap源代码中的retryAfterResize:for(;;)语法是什么意思
- c++ - c++ 整数溢出,尽管使用无符号整数和模运算
- python - 笔记本电脑与 GPU 机器上的深度模型训练?
- angular - Ngb等级最大值动态变化不反映在星星长度中
- android - 如果单元测试失败,SonarQube 不使用 Jacoco 报告
- security - 如何在 https 请求中使用 http 请求?
- javascript - VueJS - 设置 CSS 类来回答问题