fp = fopen("D:/abc.txt","r");
должен быть
fp = fopen("D:\\abc.txt","r");
в используйте \
в пути вместо /
в Windows и дополнительных \
для escape-последовательности.
EDIT:
Как вы прокомментировали другие ответы, которые fp = fopen("D:\\abc.txt","r");
также не работает, то проверьте, что имя на самом деле. Возможно, вы ошибочно указали неправильное имя, проверьте, есть ли у вас ошибка.
(1) Откройте окно командной строки
(2) использовать команду DIR, чтобы печатать имя файла:
c:\Users\name> D:
D:\> DIR
Volume in drive D is FUN BOX
Volume Serial Number is B48A-3CE7
Directory of d:\
27-02-2013 19:23 0 abc.txt.txt
26-02-2013 22:05 <DIR> BOLLYWOOD MOVIES
27-02-2013 19:31 0 x
2 File(s) 0 bytes
1 Dir(s) 11,138,654,208 bytes free
имя файла abc.txt.txt
, но когда вы видите это в расширении папки не появляется и имя файла выглядит abc.txt
Я пользователь Linux, и я обычно делаю эту ошибку в Windows. Вот почему. Может быть, это поможет вам!
проверить 'errno' или использовать' GetLastError' –
1) conio.h является нестандартным заголовком. 2) main() должен возвращать int 3) MS-dos использует обратную косую черту вместо косой черты. 4) диагностический вывод должен идти в stderr, 5) и добавление \ n к нему приведет к его видимости. – wildplasser
Вы должны быть более конкретными на своей платформе (OS) и компиляторе. Я просто проверил с Visual Studio в Windows 7, и он также работает с '/' (хотя это и было моей первой мыслью). Вы уверены, что файл существует и доступен для чтения? –