我试图计算一个数组中的元素数量,并被告知该行
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),但我不确定所以我问你们.
谢谢!
我制作了一个简单的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
我对使用 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 的新手,我不知道如何访问列表、它们的属性,或者……嗯……任何东西。介意帮我一下吗?
我试图用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) 如果用户输入一个包含转义字符的字符串(例如"Example \"或"C:\ Users ..."),我想完全按原样接受它.换句话说,我试图绕过抛出的语法错误当处理上述输入时.
我觉得它应该很简单,但答案不包括在内.有帮助吗?
编辑:我在python 3上