我在C#中找到了一个如何将新事件添加到事件查看器的示例.但是,我需要一个用C++(而不是.NET)编写的示例,它在"应用程序"部分下为事件查看器创建新事件.
我正在尝试使用C#COM互操作创建一个Excel文件,但它似乎默认创建了3张而不是空或只有一张.创建它需要什么空或只需一个:
Excel.Application xl = null;
Excel._Workbook wb = null;
// Create a new instance of Excel from scratch
xl = new Excel.Application();
xl.Visible = true;
wb = (Excel._Workbook)(xl.Workbooks.Add(Missing.Value));
wb.SaveAs(@"C:\a.xls", Excel.XlFileFormat.xlWorkbookNormal,
null, null, false, false, Excel.XlSaveAsAccessMode.xlShared,
false, false, null, null, null);
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用c标记粘贴(##)来访问struct字段,如下所示:
typedef struct
{
int a;
int b;
} TMP_T;
#define BUILD_FIELD(field) my_struct.##field
int main()
{
TMP_T my_struct;
BUILD_FIELD(a) = 5;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但在编译期间出现以下错误:错误:粘贴"." 并且"a"不提供有效的预处理令牌
我想补充一点:
typedef struct {
int a;
int b;
}TMP_T;
#define BUILD_FIELD(my_struct,field) my_struct.##field
void func(char* name)
{
TMP_T tmp_str;
if((name == "a") || (name == "b"))
{
BUILD_FIELD(tmp_str, name) = 7;
printf("%d \n", BUILD_FIELD(a) );
}
}
int main()
{
func("a");
return 1;
}
Run Code Online (Sandbox Code Playgroud)
我应该如何使用宏来访问特定的结构和字段.可能吗?或者因为它是预先编译的,所以无法为各个字段定义(a,b)
谢谢Moti
我在C++中有一个函数,它具有std :: string类型的值,并希望将其转换为String ^.
void(String ^outValue)
{
std::string str("Hello World");
outValue = str;
}
Run Code Online (Sandbox Code Playgroud) 我使用查询来检索具有特定列名称的表列表:
select name from sqlite_master where type='table' and sql like '%unique_col_id%';
Run Code Online (Sandbox Code Playgroud)
因此,它返回一个表名列表,例如table_1,table_2,table_3 ..
我想删除上表中所有行,其中unique_col_id等于特定值:
DELETE FROM table_1 where unique_col_id=3;
DELETE FROM table_2 where unique_col_id=3;
DELETE FROM table_3 where unique_col_id=3;
Run Code Online (Sandbox Code Playgroud)
有没有办法在一个查询中删除所有表?我的意思是集成两个查询(搜索表并删除所有这些查询与unique_col_id = 3 ......)
谢谢