Я работаю на языке сценариев TTCN-3 (Testing and Test Control Notation). Я хотел подготовить к проверке руководящих принципов для этого кода файлов.
Для этого я хочу прочитать строки файла сценария TTCN-3 (что-то вроде file.ttcn) одну за другой в буфер. Но для меня fopen / sopen / open / fgetc / fscanf не могут работать должным образом и неправильно читают файл. Это дает NULL. Есть ли способ, которым я могу прочитать символы этого в буфер. Я думаю, что C не может читать файлы с более чем тремя символами расширения (например, .ttcn). Простите, если мое предположение неверно.
Моя среда - Turbo C на Windows.
Редактировать :
Да, я также проверил эти ошибки, но они дают неизвестную ошибку для чтения ()
и такой файл или каталог не существует.
Мой код выглядит следующим образом
#include <errno.h>
#include <io.h>
#include <fcntl.h>
#include <sys\stat.h>
#include <process.h>
#include <share.h>
#include <stdio.h>
int main(void)
{
int handle;
int status;
int i=0;
char ch;
FILE *fp;
char *buffer;
char *buf;
clrscr();
handle = sopen("c:\\tc\\bin\\hi.ttcn", O_BINARY, SH_DENYNONE, S_IREAD);
/ здесь даже я использовал O_TEXT и другие /
if (!handle)
{
printf("sopen failed\n");
// exit(1);
}
printf("\nObtained string %s @",buf);
close(handle);
fp=fopen("c:\\tc\\bin\\hi.ttcn","r"); \\sorry for the old version of one slash
if(fp==NULL) \\I was doing it with argv[1] for opening
{ \\user given file name
printf("\nCannot open file");
}
ch=fgetc(fp);
i=0;
while(i<10)
{
printf("\ncharacter is %c %d",ch,ch);
i++; //Here I wanted to take characters into
ch=fgetc(fp); //buffer
}
getch();
return 0;
}