使用_ropen打开物理文件的错误
Error opening physical file with _Ropen
我正在尝试将物理文件放在IFS上。
因此,试图打开文件只是为了保证其在源上的存在。
这就是我的方式:
errno=0;
if ( ((pf = _Ropen(pfname, "rr, nullcap=Y")) == NULL) || (errno!=0) )
{
printf("nError: Cannot open file %sn",pfname);
//...
}
但是,该文件未使用pf = SPP:*NULL
结果
这不会是问题,但我也无法查看errno
。eval errno
给出了Syntax error occurred.
不知道发生了什么。
我仍然能够查看pfname
的内容:它看起来像'MYLIB/MYFILE'
绝对路径也被尝试: '/QSYS.LIB/MYLIB.LIB/MYFILE.FILE'
,没有任何区别 - 相同的错误持续。
IBM IFS Explorer清楚地显示了MYLIB
的内容,并且此lib内有一个MYFILE
。
upd
我添加了一些调试记录只是为了扩展错误描述或错误代码:
numbytes = sprintf( (char *)NULL, "%s", strerror(errno) );
ret = (char *)malloc( ( numbytes + 1 ) * sizeof( char ) );
sprintf( ret, "%s", strerror(errno) );
,ret
的结果是SPP:*NULL
。
有什么想法可以尝试?
事实证明它非常简单 - null字节丢失,因此_Ropen
无法真正访问该文件,因此也不会传递错误。
要处理这一点,需要从呼叫者传递零终止的字节数组的参数。如果RPG解决方案看起来像'MYFILE/MYLIB' + X'00'
相关文章:
- C++系统找不到指定的文件错误
- C++语法头文件错误
- C++生成文件错误"implicit entry/start for main executable"
- C++/生成文件错误:未定义对"main"的引用
- VS2019:资源文件错误:中性(默认)(未知子语言:0x8)
- C++程序不制作文件(错误)
- 安卓工作室 |CPP 文件错误错误: 位图库中对"AndroidBitmap_unlockPixels"的未定义引用
- "what does ":*** [可执行文件] 错误 1 " mean ?"
- 如何修复使用VScode调试器gcc调试时的"找不到文件"错误
- 在课堂上创建了一个朋友,给出"无输入文件"错误
- Qt .exe文件错误
- c++ 添加具有写入文件错误的文本变量
- 无法转换 .CATPart 文件.错误:输入文件路径似乎包含不支持的字符
- 写入文本文件错误,QT
- C++写入文件错误
- Windows Subsystem for Linux (WSL) 下的间歇性随机"找不到文件"错误
- 犰狳读取MAT文件错误
- 无法求解FullPathForFilename:COCOS2DX中可能缺少文件错误
- C Wininet FTP列出了许多文件错误
- 生成文件错误 - 找不到文件 - *.cpp