Tag: windows

如何在Windows下获取IP地址

所有我已经有一个“socketfd”,我想知道如何使用它来检索本地IP地址。 在linux下,我可以做这样的事情(不完全正确): struct ifreq ifr; ifr.ifr_addr.sa_family = AF_INET; ioctl(socketfd, SIOCGIFADDR, &ifr); char *address = inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr); 但是,在Windows上,我如何实现相同的目标? (不使用MFC)非常感谢。 编辑:也许我的主机有多个IP地址,我想要一个“连接”与“socketfd”。

如何查询根证书?

我有一个文件。 此文件使用我们的公司证书进行数字签名。 此证书具有签名(例如Microsoft)。 但是,此证书还具有证书路径,其中顶部有根证书(如Symantec),在此之下是另一个证书(如Symantec代码签名),在此之下是我们的公司证书。 我找到了这个链接,并重写了它,所以我可以查询我需要的一切。 好几乎一切。 我无法弄清楚,我如何查询有关根证书的信息? 它的名字还是什么? 明显我错过了什么,但我不知道是什么。 有人可以帮帮我吗? 提前致谢!

使用malloc为字符串分配内存(c ++源代码)

我正在尝试创建一个结构数组,我已经完成了,我必须从用户那里收到一个输入。 第一条数据是描述(字符串)。 我也必须为它分配内存。 我不是因为它要进行检查所以要检查的字符串有多大,但我认为我没有正确设置它。 任何人都可以给我一个提示或一个我可以看到的页面来弄明白吗? 非常感激。 以下是代码的重要内容: struct myExpenses { char *description; float cost; }; int main (void) { struct myExpenses *pData = NULL; struct myExpenses expenses[60]; int exit=0; int i = 0; char buffer[81] = “”; printf(“Please enter all your descriptions:\n”); for (i=0;i < 60; i++) { fgets(buffer,stdin); expenses[i].description=(char *)malloc sizeof(buffer); }

圆形链表在c窗口中无法正常工作

我试图通过服务器端应用程序实现循环链​​表来管理一组任务。 应用程序是multithreading的,其中一个线程( updater() )仅读取链接列表以进行读取,而另外两个( push_stream() and delete_stream() )访问链接列表以分别添加和删除链接列表。 我的问题不是删除所有要删除的文件(处理后)。 struct data_stream { bool processed; int count; char filename[30]; int TYPE_GRP; int task_type; struct data_stream *next; }; struct data_stream *stream_head=NULL; //global variable 主要(部分代码) main() { _beginthread(updater, 0, NULL); while ((new_socket = accept(srv_sock, (struct sockaddr *)&client, &c)) != INVALID_SOCKET) { _beginthreadex(0, 0, handle_client, &new_socket, 0, 0); } […]

在Windows上显示带有自定义按钮标题的警报?

使用CoreFoundation,我可以显示一个警告对话框,其中包含以下内容: CFUserNotificationDisplayAlert(0.0, kCFUserNotificationPlainAlertLevel, NULL, NULL, NULL, CFSTR(“Alert title”), CFSTR(“Yes?), CFSTR(“Affirmative”), CFSTR(“Nah”), NULL, NULL); 如何使用Windows C API复制此内容? 我最接近的是: MessageBox(NULL, “Yes?”, “Alert title”, MB_OKCANCEL); 但硬编码“OK”和“取消”作为按钮标题,这不是我想要的。 有没有办法解决这个问题,或者使用其他function?

使用windows c / c ++代码中的特定参数执行外部程序

我想从Program2调用Program1,其参数完全相同,我称之为Program2。 在Linux中,我可以这样做: int main(char argc, char* argv[]){ execv(“./Program1”, argv); } 在Windows中,我尝试了CreateProcess 但正如第一篇文章所说,存在潜在问题:“argv [0]不包含预期的模块名称”。 我确实想将正确的argv [0]发送给Program1。 我该怎么办?

基于Windows set locale和consoleCP调试代码并使其运行。 获取错误:’未定义引用`GetLocaleInfoEx”

我试图让另一个人制作一些代码来工作。 代码基本上获取用户在var locale_name引入的语言环境。 然后设置其ConsoleCP和ConsoleOutputCP ; 毕竟,将控制台重置为默认值。 我做了一些修改,但我已经陷入黑点,我不知道如何继续。 我收到两个错误: undefined reference to ‘GetLocaleInfoEx’和error: ‘reset_console’ undeclared (first use in this function) 。 我不知道为什么我得到第一个错误。 第二个错误是由于未定义reset_console 。 我想它应该重置控制台的默认配置,但我不知道它应该为它做什么(我的意思是,我不知道如何恢复设置,我一直在搜索,但我没有做任何事情)。 代码是: #include #include #include #include #include #include #include int main() { wchar_t *locale_name = L”es-ES”; if (_wsetlocale(LC_ALL, locale_name)) { int codepage; int gPrevConsoleCP = GetConsoleCP(); if (gPrevConsoleCP) { // The process […]

添加目录Windows 8.1的路径

我正在为我安装的netbeans 8.02 IDE配置cygwin(c / c ++)编译器和工具。 我已经使用c / c ++插件成功安装了netbeans。 我现在需要的是设置c / c ++编译器和工具。 我去了cygwin.com,运行了setup-x86 64.exe并成功安装。 最后一步是使用netbeans IDE正确配置c / c ++编译器和工具。 最后一步: – 最后一步是将cygwin文件夹所在的目录添加到Windows环境变量中的路径。 为此,我按照以下步骤操作: 打开控制面板 在搜索工具中输入var 单击“编辑系统环境变量” 单击“高级”选项卡 单击环境变量 在“所有者的用户变量”下面,我突出显示了PATH 我选择了编辑按钮 ……好吧,这就是我被卡住的地方 在编辑用户变量框内,我看到了这条路径: C:\用户\ Ownder \应用程序数据\漫游\ NPM …而且我不知道如何将cygwin目录添加到他的路径中。 我试过这个: C:用户\ Ownder \应用程序数据\漫游\ NPM; C:\ cygwin的\斌 但这似乎没有改变Netbeans的任何东西。 我还在google上看到有一个我可以在cmd窗口中使用的setx命令,但我还没有尝试过。 我想看看你们中是否有人可以帮我找到解决方案。 提前谢谢你们,我非常感谢你的帮助 🙂

替换版本信息资源

我正在加载我的程序中的某个Exe,我正在尝试替换它的版本信息资源。 我正在使用UpdateResource()但由于某种原因它不会像原来那样替换原始资源。 UpdateResource(hHandle,RT_VERSION,”1″,MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US),pRsrcMemory,rsrcSize) 当在资源编辑器中打开Exe时,我看到两个版本的Info资源具有相同的ID 1,但Windows资源管理器中显示的版本信息是原始信息。(可能是因为它首先出现在exe的.rsrc部分中但是我不确定) 任何帮助表示赞赏。

使用fprintf和fscanf时出错

我有一个存档results.csv ,我需要读取此存档的第一行并在output.txt上打印出来。 不知怎的,它在所有东西之后打印随机字符,我无法弄清楚出了什么问题。 命令: ac results.csv 第一行: date,home_team,away_team,home_score,away_score,tournament,city,country,neutral output.txt: date,home_team,away_team,home_score,away_score,tournament,city,country,neutral,(!£,(!£,(!£,(!£,(!£,@,£,(!£,(!£ #include #include #include #include typedef struct { char *line1; char *line1a; char *line1b; char *team1; char *team2; char *reason; char *city; char *country; char *neutral_field; }data; void open_input(char *argv[], FILE **input) { if((*input=fopen(argv[1], “r”)) == NULL) { printf(“%s not found\n”, argv[1]); exit(1); } } void […]