小编pip*_*117的帖子

如何计算char数组中的元素数?

我试图计算一个数组中的元素数量,并被告知该行

int r = sizeof(array) / sizeof(array[0]) 
Run Code Online (Sandbox Code Playgroud)

会给我数组中的元素数量.我发现该方法确实有效,至少对于int数组.然而,当我尝试这段代码时,事情就会破裂.

#include <iostream>
#include <Windows.h>
using namespace std;

int main() {
    char binaryPath[MAX_PATH];
    GetModuleFileName(NULL, binaryPath, MAX_PATH);
    cout << "binaryPath: " << binaryPath << endl;
    cout << "sizeof(binaryPath): " << sizeof(binaryPath) << endl;
    cout << "sizeof(binaryPath[0]: " << sizeof(binaryPath[0]) << endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当这个程序运行时,binaryPath的值是

C:\Users\Anish\workspace\CppSync\Debug\CppSync.exe
Run Code Online (Sandbox Code Playgroud)

这似乎有一个sizeof返回的大小(以字节为单位?位?idk,有人可以解释这个吗?)260.该行

sizeof(binaryPath[0]);
Run Code Online (Sandbox Code Playgroud)

给出值1.

显然然后将260除以1会得到260的结果,这不是数组中元素的数量(据我所知它是42左右).有人可以解释我做错了吗?

我有一个潜行的怀疑,实际上并不是我想到的阵列(我来自Java和python),但我不确定所以我问你们.

谢谢!

c++ windows string sizeof char

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

python在哪里打开文件到mac?

我制作了一个简单的python脚本来创建一个文本文件.脚本的内容是

f = open("New", "w")
f.close
Run Code Online (Sandbox Code Playgroud)

现在我将脚本移动到桌面(我在Mac上)并运行它,没有任何显示.在桌面上没有创建对我可见的文件.

我实际上制作了这个小脚本,因为我的其他脚本之一涉及打开/创建文本文件并从中读取.我在我的程序中永远输入了错误的信息,现在整个事情都被打破了,我无法解决它因为我不知道它在哪里创建了这个文本文件.我的印象是,只要打开一个文件,给它一个绝对路径就可以在与脚本相同的目录中创建它.我好像错了.

我一直在使用命令从终端启动脚本

python3 /Users/me/Desktop/script.py
Run Code Online (Sandbox Code Playgroud)

因此,我觉得它在python3安装位置或python3 unix exec所在的任何地方创建文件.我认为.无法检查.

你们中的任何人都愿意帮帮忙吗?

-pipsqueaker117

编辑:这是一个破坏的大项目的链接.

python filesystems file-io text file

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

列出与文件关联的缓冲区?

我对使用 lisp 很陌生,所以如果这是一个微不足道的问题,我很抱歉。经过一段时间的谷歌搜索后,我无法找到解决方案,尽管我确信这是我的错。

所以。我正在尝试编写一个命令来恢复所有打开的缓冲区。简单的。我只是做

(setq revert-without-query (buffer-list))
(mapc 'revert-buffer (buffer-list))` 
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果存在任何与文件无关的缓冲区,这最终会失败——也就是说,总是如此。

对列表缓冲区进行C-x C-b打印类似

CRM   Buffer        Size  Mode            File
      init.el       300   Emacs-lisp      ~/.spacemacs.d/init.el
      %scratch%      30   Test            
Run Code Online (Sandbox Code Playgroud)

好的。很容易。如果我被允许混合 lisp 和 python,我会做类似的事情

(setq revert-without-query [b for b in buffer-list if b.File != ""])
;; Or would I test for nil? Decisions, decisions...
Run Code Online (Sandbox Code Playgroud)

经过一番挖掘,我发现存在remove-if。不幸的是,作为 lisp 的新手,我不知道如何访问列表、它们的属性,或者……嗯……任何东西。介意帮我一下吗?

lisp emacs elisp list-comprehension list

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

懒惰地在Common Lisp中生成素数

我试图用pythonic方式生成素数 - 也就是说,使用生成器.

python代码或多或少会有以下几点

def divisor_in_list(n, d):
    """ Returns true if a divisor of n is in d, false otherwise"

def primes():
    yield 2
    primelist = [2]
    i = 3

    while True:
        while divisor_in_list(i, primelist):
            i += 2
        primelist.append(i)
        yield i
Run Code Online (Sandbox Code Playgroud)

我是Lisp的新手,所以我想知道惯用的等价物是什么.根据我的研究到目前为止,我有以下代码

(defun primes ()
  (let* ((p (list 2)) (n 3))
    (lambda ()
      (loop while (divisor-in-slist n p)
            do (incf n 2))
      (nconc p (list n))
      (+ n 0) ;; Not actually sure how to return N directly :(
      ) …
Run Code Online (Sandbox Code Playgroud)

lisp python closures generator common-lisp

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

如何接受包含转义字符python的字符串

如果用户输入一个包含转义字符的字符串(例如"Example \"或"C:\ Users ..."),我想完全按原样接受它.换句话说,我试图绕过抛出的语法错误当处理上述输入时.

我觉得它应该很简单,但答案不包括在内.有帮助吗?

编辑:我在python 3上

python string escaping

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