Я попытался использовать open(), чтобы открыть html-файл в том же каталоге, что и исходный файл. Однако я не знаю, почему is_open() всегда возвращает ложь в моей программе .... Вот часть моего исходного кодаC++ fstream is_open() функция всегда возвращает false
одна из функций, чтобы открыть HTML-файл в readHTML.cpp
#include "web.h"
...
void extractAllAnchorTags(const char* webAddress, char**& anchorTags, int& numOfAnchorTags)
{
ifstream myfile;
char line[256];
char content[2048] = "";
numOfAnchorTags = 0;
myfile.open(webAddress);
cout<< myfile.is_open()<<endl;
if (myfile.is_open())
{......}
}
заголовок файл, web.h
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
struct WebNode
{
char* webAddress;
char* anchorText;
WebNode** hyperlink;
int numOfHyperlinks;
};
void extractAllAnchorTags(const char* webAddress, char**& anchorTags, int& numOfAnchorTags);
другой CPP файл, callF.cpp
#include "web.h"
........
WebNode* createWeb(const char* webAddress, const char* anchorText, int height)
{
if(height != 0){
WebNode* webNode = new WebNode;
char** anchorTags;
int numOfAnchorTags;
strcpy(webNode->webAddress,webAddress);
strcpy(webNode->anchorText,anchorText);
extractAllAnchorTags(webAddress,anchorTags,numOfAnchorTags);
\*.........................*\
}
.......
main.cpp
#include "web.h"
int main(){
.............
cin >> filename; // index.html would be input during running.
Page = createWeb(filename, anchorText, max_height);
.............
}
мой main.cpp просто позвоните createWeb раз Однако то, что я получаю, что myfile.is_open() всегда возвращает ложь, поскольку она выводит 0 в моей консоли затмения ... у меня нет идея, почему я даже пытаюсь свернуть свой каталог аргументов в мою рабочую область , или я помещаю свой html-файл в папку отладки .. он все равно возвращает false.
Какая операционная система? –
Я использую Windows 7 64 бит – SerMintt