我在一个文本文件中读取各种int,string和double字段,这些字段是制表符分隔的。我正在尝试生成'/ t'字符的位置数组。我最终试图让这个工作起来。我一直在
undefined reference to getTAB(std::string, int*)
主要的错误。
我做错了什么?
我的文件如下
的main.cpp
#include <iostream>
#include <fstream>
#include <string>
#include "getTAB.h"
using namespace std;
int main ()
{
int tab = 7; int tabPosition[tab];
string lineOfInput;
ifstream inFile("DATA/inputData.txt");
while(getline(inFile,lineOfInput))
{
cout << lineOfInput << endl;
getTAB(lineOfInput, &tabPosition[0]);
}
inFile.close();
return 0;
}
getTAB.h
#ifndef GETTAB_H_INCLUDED
#define GETTAB_H_INCLUDED
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void getTAB(string line, int *array);
#endif // GETTAB_H_INCLUDED
和getTAB.cpp
#include "getTAB.h"
void getTAB(string line, int *array)
{
int tab = 0;
for(int i=0; i < line.length(); i++)
{
if(line.at(i) == '\t')
{
array[tab] = i;
cout << tab <<"----"<< i << endl;
j++;
}
}
return;
}
inputData.txt
1 OTTO BROTHERS FHS 517267 1417.174 ZA 11 TRPF 18162 BC H
答案 0 :(得分:2)
我不知道你用什么命令来编译你的程序,但你应该使用这样的东西(在g ++的情况下)
g ++ main.cpp getTAB.cpp
而不是
g ++ main.cpp
您需要明确说明这两个文件,以便将它们链接在一起。
我不知道你使用的是什么编译器,尽管语法基本保持不变。