NX二次开发 UFUN读写txt文件 UFUN读文件内容 uc4514
//NX8.0+VS2010
#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
# include <strstream>
# include <iostream>
using std::ostrstream;
using std::endl;
using std::ends;
using std::cerr;
#else
# include <strstream.h>
# include <iostream.h>
#endif
#include <uf.h>
#include <uf_ui.h>
#include <uf_exit.h>
#include <uf_cfi.h>
#include <string>
//#include <NXSigningResource.cpp>
using namespace std;
using std::ostrstream;
extern DllExport void ufsta(char* param, int* returnCode, int rlen)
{
if (UF_initialize())
return;
int omode = 3;//1 = 读丶2 = 写丶3 = 写入替换丶4 = 追加丶6 = 打印机
int ftype = 79;//文件后缀名txt(UG英文帮助文档里有详细说明"File Types and Extensions")
char txt[257] = "D:\\ug_meilei_temp.txt";//文件路径
int p = uc4504(txt, omode, ftype);//打开文件,omode = 3写入替换,ftype = 79格式x_t
//写入内容
uc4524(p, "你好UG二次开发");
//写入内容
uc4524(p, "你好梅雷");
//关闭文本
uc4540(p, 0);
//判断文件是否存在
int status = 0;
UF_CFI_ask_file_exist(txt, &status);
if (0 == status)
{//文件存在
omode = 1;//读文件
p = uc4504(txt, omode, ftype);//打开文件,omode = 1读文件,ftype = 79格式x_t
char str_buf[257] = "";
int num = uc4514(p, str_buf);//只能读一行
UF_UI_open_listing_window();//打开信息窗口
//循环去读每一行
while (num >= 0)
{
UF_UI_write_listing_window(str_buf);//向信息窗口写入数据
UF_UI_write_listing_window("\n");//向信息窗口写入 换行
num = uc4514(p, str_buf);//只能读一行
}
//关闭文本
uc4540(p, 0);
}
else
{//文件不存在
uc1601("文件不存在", 1);
}
UF_terminate();
}
extern int ufusr_ask_unload(void)
{
return (UF_UNLOAD_IMMEDIATELY);
}