こんにちはみんな私は割り当てのためにCからC++に古いコードを転送しようとしています....私は手動でリンクリストを実装する必要があるので、STLコンテナを使用できません。
これが私のリンクリストです:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
struct Video {
char video_name[1024]; // video name
int ranking; // Number of viewer hits
char url[1024]; // URL
Video *next; // pointer to Video structure
} *head = NULL; // EMPTY linked list
読み込みコードは次のとおりです。
void load()
{
struct Video *temp;
temp = (Video*)malloc(sizeof(Video)); //allocate space for node
temp = head;
ifstream myfile ("Ranking.dbm");
if (myfile.is_open())
{
string line;
while ( myfile.good() )
{
myfile.getline(temp->video_name,1024);
myfile >> temp->ranking;
getline(myfile, line); // need to skip 'ranking's
// unread new-line
myfile.getline(temp->url,1024);
temp = temp->next;
}
head = NULL;
myfile.close();
}
else cout << "Unable to open file";
return ;
}
Ranking.dbm
次のようなテキストファイルから読み取っています。
bagheera
20
bagheera.com
sushi
60
sushi.com
wicket
99
wicket.com
teek
100
teek.com
基本的に、3行の各セットはVideo
、リンクリストの新しいノードとなる構造にロードする必要があります。
私のコントロールが及ばない状況のため、私はこのプロジェクトにXCodeを使用しています。私の質問は、なぜこのエラーが発生するのかということです。EXC_BAD_ACCESSは主にObjective-Cエラーだと思いました...?