小编use*_*318的帖子

当在Visual Studio 2010中编译`C`文件时,它是否编译为C++文件?

C并且C++是不同的语言,我仍然可以在C++项目下在Visual Studio 2010中编译它们.这是为什么?编译器是否将C文件解释为C++一个?

c c++ visual-studio-2010 visual-studio

3
推荐指数
1
解决办法
99
查看次数

由于错误的strcmp参数处理而生成警告

所以我有一个

unsigned char * pMyPtr 
Run Code Online (Sandbox Code Playgroud)

分配给某事.

然后我想将它与任意字符串进行比较

strcmp(const char* , const char* )
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,clang编译器告诉我

warning: passing (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign

如何删除此警告?

c c++ clang

2
推荐指数
2
解决办法
288
查看次数

使用LINQ查询XML文件

我有一个XML文件,我想用LINQ查询.我想为每条记录创建一个新行.这是我迄今为止尝试过但失败的原因.

<?xml version="1.0" encoding="utf-8"?>
<categories xmlns="urn:schemas-pi-meta:categories" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-pi-meta:categories Xsd/meta.xml.config.xsd">
<category name="history">
    <data>
      <value name="customer">2</value>
      <value name="truck">1</value>
    </data>
    <category name="record">
      <data>
        <value name="time">1/3/2013 2:22:41 PM</value>
        <value name="quantity">3</value>
        <value name="unit">barrels</value>
        <value name="cancelled">false</value>
        <value name="errored">false</value>
      </data>
    </category>
  </category>
Run Code Online (Sandbox Code Playgroud)

文件较长,所以我把它剪下来但它重复了一遍.

这是我试图做的:

 XElement root = XElement.Load("D:\\Linq XM\\history.xml.config");

 IEnumerable<XElement> address = from el in root.Elements("categories")
    where (string)el.Attribute("category") == "record"
    select el;
Run Code Online (Sandbox Code Playgroud)

我试图改变Elements值,认为我可能遗漏了某些东西,但不知怎的,查询没有返回我的数据.

c# xml linq

1
推荐指数
1
解决办法
530
查看次数

在Scala中使用Underscore

为什么会这样?

def exists(s: Set, p: Int => Boolean): Boolean = { forall(s, !p(_)) }
Run Code Online (Sandbox Code Playgroud)

这不是吗?

def exists(s: Set, p: Int => Boolean): Boolean = { forall(s, !p()) }
Run Code Online (Sandbox Code Playgroud)

forall函数在哪里,p是谓词.

functional-programming scala

1
推荐指数
1
解决办法
191
查看次数

Windows API 中是否有类似于 POSIX 上的 ftruncate 的函数?

我正在使用Windows API 中的CreateFile函数来打开文件。现在,该函数返回一个HANDLE对象,我们可以在该对象上进一步使用读取或写入或任何归档操作。

我发现SetEndOfFile谈论截断文件,但它没有文件大小的参数。最后,_chsize函数不接受HANDLE对象。有没有解决的办法?

c++ linux windows

1
推荐指数
1
解决办法
5135
查看次数

从python脚本启动一个新进程,然后从同一个脚本中删除它

我查看了python subprocessos模块,但还没有找到具体的例子.这是我想要做的一个例子:

os.system(r"someprocess.exe")
time.sleep(10)
os.system(r"TASKKILL /F /IM someprocess.exe")
Run Code Online (Sandbox Code Playgroud)

目前在运行第一行之后,shell在其中运行进程,并且不会向前移动.另一方面,我希望它生成一个独立于这个python shell的新进程,进入休眠状态,然后在一段时间之后将其杀死.我在一台Windows机器上.

python windows exe

1
推荐指数
1
解决办法
640
查看次数

为什么vsnprintf安全?

我已经看过这个问题以及这些PDF的12,这个页面,并且非常了解如果我这样做会发生什么printf(SOME_TEST_STRING).但我不明白的原因是为什么确保缓冲区的大小vsnprintf变得安全vsprintf

c c++ memory security printf

1
推荐指数
1
解决办法
2469
查看次数

Scala 谓词和过滤器函数?

我有一个非常简单的集合 s1 {1, 2} 示例,我想对其应用谓词 p > 1。现在我已经实现了这个功能,它给了我正确的结果。

  def filter(s: Set, p: Int => Boolean): Set = {(i: Int) => s(i) && p(i)}
Run Code Online (Sandbox Code Playgroud)

集合的定义在哪里

  type Set = Int => Boolean
Run Code Online (Sandbox Code Playgroud)

但是在 Scala 中有更优雅的方法吗?

functional-programming scala

0
推荐指数
1
解决办法
4794
查看次数

Linux上的ftruncate给出了无效的参数错误

ftruncate这里看过文档,以及从这里开始.在IBM链接的情况下,我相应地实现了我ftruncate,但它给了我Invalid Arguments错误.这是代码:

char const *path = "mozunit.txt";
int file_ = open(path, O_RDONLY, 0600);
int ftrunc_ = ftruncate(file_, 1);
cout<<strerror(errno)<<endl;
Run Code Online (Sandbox Code Playgroud)

为什么?我尝试更改第二个参数,ftruncate但无济于事.

c++ linux

0
推荐指数
1
解决办法
2278
查看次数

在Windows API中Linux上的lseek等效?

lseekWindows上的POSIX api中是否存在等价物?我知道_lseekio.h,但我正在寻找一些与WIN32 API即Windows.h.

c++ windows

0
推荐指数
1
解决办法
1495
查看次数

有没有办法列出Linux上c ++可执行文件中包含的所有头文件?

我知道我们可以使用nm来列出文件中的符号.但我要找的是列出C++可执行文件中包含的所有标头.

c++ linux

-1
推荐指数
1
解决办法
236
查看次数

Windows系统编程OpenFile功能

Windows中的OpenFile功能文档位于此处.而我正在尝试这样做:

#include "Tchar.h"
#include <windows.h>
int main(int argc, TCHAR *argv[]){

    LPOFSTRUCT _buffer;
    HFILE _hfile_ = OpenFile("E:\\mozunit.txt", _buffer, OF_READ);
    LPVOID _buffer_read;
    LPDWORD _bytes_read;
    bool flag = ReadFile(_buffer, _buffer_read, 5, _bytes_read, NULL);
    CloseHandle(_buffer);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

现在,当我运行这个时,我得到一个我没有初始化的错误_buffer.所以要反击我这样初始化_buffer:

LPOFSTRUCT _buffer = NULL;
Run Code Online (Sandbox Code Playgroud)

这给了我一个访问冲突错误.这是为什么?

c++ windows

-1
推荐指数
1
解决办法
7040
查看次数

什么 - 我在g ++命令中暗示这里?

据我所知,在使用g ++编译时,-I用于包含头文件,并-L用于链接库文件.但这是一个位于以下行的google-breakpad minidump_file_writer_unittest的g ++编译命令33:

g++ -I../ ../common/convert_UTF.c \
 ../common/string_conversion.cc \
 minidump_file_writer.cc \
 minidump_file_writer_unittest.cc \
 -o minidump_file_writer_unittest
Run Code Online (Sandbox Code Playgroud)

现在究竟是什么意思-I../?是否包含此目录和子目录中的所有头文件?

c++ linux g++

-4
推荐指数
1
解决办法
86
查看次数