次のコードに問題があります。
#include <iostream>
#include <stdio.h>
#include "ISBNPrefix.h"
using namespace std;
int main() {
FILE* file = NULL;
int area = 0, i = 0;
long s;
file = open("swagger.txt");
fscanf(file, "%ld", &s);
cout << s << endl;
}
そしてここにISBNPrefix.cppがあります:
#include <iostream>
#include <stdio.h>
#include "ISBNPrefix.h"
using namespace std;
FILE* open(const char filename[]) {
FILE* file = NULL;
file = fopen("filename", "r");
if (file != NULL)
return file;
else return NULL;
}
私のISBNPrefix.h
FILE* open (const char filename[]);
そして、swagger.txtの内容は次のとおりです。123456789
それを実行して123456789を変数にコピーするかどうかをテストしようとすると、セグメンテーション違反が発生します。