无法用C ++读取.csv文件

时间:2011-08-03 16:37:53

标签: c++ csv

我正在开发一个项目,我打算连接到数据库,获取.csv文件,读取它,操作数据然后将其返回到数据库。相当简单和直截了当但我还在学习,如果有人能指出我正确的方向,我会非常感激。现在我有一个简单的程序,试图读取.csv文件并将值返回给我打印在控制台上。我一直试图为此找到一些很好的在线资源但是已经很短了。这是我到目前为止偶然发现的代码。

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main ()
{

int loop = 1;

while(loop = 1)
{

cout << "Welcome! " << endl;

ifstream myfile;

myfile.open ("..\\ Source\External\\ Sample.csv", ifstream::in);

此文件的真实路径是C:\ Documents and Settings \ RHatfield \ My Documents \ C ++ \ Product Catalog Creator \ Source \ External \ Sample.csv

while (myfile.good())
cout << (char) myfile.get();

myfile.close();
system("PAUSE");

return 0;
}


}

现在问题是它没有打印值,所以我不知道它们被正确捕获。我觉得这是我的文件路径,但这是我找到写它的唯一方法,而不会抛出错误。我认为它与文件路径中的空格有关,但我似乎找不到另一种方法来使其工作。我不是在寻找施舍,这不是家庭作业或只是定期工作。我正在努力学习并且在自学方面遇到困难,所以如果有人知道问题是什么,可以帮助我解决它,甚至指向我在线的相关文章,将不胜感激。

1 个答案:

答案 0 :(得分:0)

尝试以下代码。我认为问题是你在while条件声明中做了一个赋值语句。

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main ()
{
   cout << "Welcome! " << endl;

   ifstream myfile;

   myfile.open ("C:\\Documents and Settings\\RHatfield\\My Documents\\C++\\Product Catalog Creator\\Source\\External\\Sample.csv", ifstream::in);
   while (myfile.good())
      cout << (char) myfile.get();

   myfile.close();
   system("PAUSE");

   return 0;
}