⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 posixio.sl

📁 一个C格式的脚本处理函数库源代码,可让你的C程序具有执行C格式的脚本文件
💻 SL
字号:
_debug_info = 1; () = evalfile ("inc.sl");print ("Testing POSIX I/O routines...");static define open_tmp_file (fileptr, flags, mode){   variable n;   variable file, fd;   variable fmt;      @fileptr = NULL;   fmt = "tmp-xxx.%03d";    % I need something that works on an 8+3 filesystem   n = -1;   while (n < 999)     {	n++;	file = sprintf (fmt, n);	if (NULL != stat_file (file))	  continue;		fd = open (file, flags, 0777);	if (fd != NULL)	  {	     @fileptr = file;	     return fd;	  }     }   failed ("Unable to open a tmp file");}define run_tests (some_text){   variable file, fd, fp;   variable new_text, nbytes, len;   variable pos;   fd = open_tmp_file (&file, O_WRONLY|O_BINARY|O_CREAT, 0777);   if (-1 == write (fd, some_text))     failed ("write");   fp = fdopen (fd, "wb");   if (fp == NULL)     failed ("fdopen");      if (isatty (fileno (fp)))     failed ("isatty (fileno)");   if (-1 == close (fd))     failed ("close");   fd = open (file, O_RDONLY|O_BINARY);   if (fd == NULL) failed ("fopen existing");   len = bstrlen (some_text);   nbytes = read (fd, &new_text, len);   if (nbytes == -1)     failed ("read");   if ((nbytes != len)       or (some_text != new_text))      failed ("read");   if (0 != read (fd, &new_text, 1))     failed ("read at EOF");   if (bstrlen (new_text))     failed ("read at EOF");   if (-1 == close (fd)) failed ("close after tests");   variable st = stat_file (file);   () = st.st_mode;  %  see if stat_file returned the right struct   () = remove (file);   if (stat_file (file) != NULL) failed ("remove");}run_tests ("ABCDEFG");run_tests ("A\000BC\000\n\n\n");variable fd = open ("/dev/tty", O_RDONLY);if (fd != NULL){   if (0 == isatty (fd))     failed ("isatty");}fd = 0;print ("Ok\n");exit (0);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -