我的简单 C 程序如下。最初,我buf1用 3 个字符定义了变量。
我对 2 个字符没有任何问题,例如AB或XY
user@linux:~/c# cat buff.c; gcc buff.c -o buff; echo -e '\n'; ./buff
#include <stdio.h>
#include <string.h>
int main() {
char buf1[3] = "AB";
printf("buf1 val: %s\n", buf1);
printf("buf1 addr: %p\n", &buf1);
strcpy(buf1,"XY");
printf("buf1 val: %s\n", buf1);
}
buf1 val: AB
buf1 addr: 0xbfe0168d
buf1 val: XY
user@linux:~/c#
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我添加 3 个字符(例如 )时XYZ,我在编译程序时收到以下错误消息。
buff.c:8:2: warning: ‘__builtin_memcpy’ writing 4 bytes into a region of size 3 overflows the destination …Run Code Online (Sandbox Code Playgroud) 我有以下代码
f = open('BigTestFile','w');
str = '0123456789'
for i in range(100000000):
if i % 1000000 == 0:
print(str(i / 1000000) + ' % done')
f.write(str)
f.close()
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到了这个TypeError:
Traceback (most recent call last):
File "gen_big_file.py", line 8, in <module>
print(str(i / 1000000) + ' % done')
TypeError: 'str' object is not callable
Run Code Online (Sandbox Code Playgroud)
这是为什么?怎么修?
private ArrayList<String> mArrayList = new ArrayList<String>();
mArrayList.clear();
mArrayList.add("test 3");
mArrayList.add("test 21");
mArrayList.add("test 4");
mArrayList.add("test 6");
mArrayList.add("test 1");
Collections.sort(mArrayList);
for (int i = 0; i < mArrayList.size(); i++) {
Log.e("TAG", "" + mArrayList.get(i));
}
Run Code Online (Sandbox Code Playgroud)
结果是:
test 1
test 21
test 3
test 4
test 6
Run Code Online (Sandbox Code Playgroud)
但我想要:
test 1
test 3
test 4
test 6
test 21
Run Code Online (Sandbox Code Playgroud)
我把它排序但不完美,怎么做,我不知道,如果你有任何想法,请与我分享.
我正在使用一个简单的python脚本来搜索和播放我的笔记本电脑上的歌曲.代码如下: -
import os
d_name = raw_input("enter drive name:-")
choice = raw_input("song or video(s/v):-")
if(choice == 's'):
s_name = raw_input("enter song name:- ")
flag = 1
elif(choice=='v'):
s_name = raw_input("enter video name:-")
flag = 2
if(flag == 1):
f_s_name = "start "+d_name+":/"+s_name+".mp3"
elif(flag == 2):
f_s_name = "start "+d_name+":/"+s_name+".mp4"
dir_list = os.listdir("d_name:/")
i=0
while(1):
if(not(os.system(f_s_name))):
break
else:
if(flag == 1):
f_s_name = "start "+d_name+":/"+dir_list[i]+"/"+s_name+".mp3"
elif(flag == 2):
f_s_name = "start "+d_name+":/"+dir_list[i]+"/"+s_name+".mp4"
i = i+1
Run Code Online (Sandbox Code Playgroud)
上面的程序运行正常,但是当函数os.system()的一个调用失败直到所需的条件匹配时,会弹出一个对话框,声称该歌曲在找到之前不存在.如何防止弹出该对话框?
我正在使用sqlalchemy,也使用alembic进行迁移(和flask-sqlalchemy)。我有一个使用EARTH数据类型的postgres表。
CREATE TABLE things
(
id INTEGER PRIMARY KEY NOT NULL,
name TEXT,
earth_location EARTH
)
Run Code Online (Sandbox Code Playgroud)
这是我的sqlalchemy映射:
class Thing(db.Model):
__tablename__ = 'things'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.UnicodeText, nullable=False)
earth_location = db.Column(???)
Run Code Online (Sandbox Code Playgroud)
如何映射接地柱?
Alembic迁移能够应付吗?
谢谢!
这是我尝试构建的Dockerfile:
FROM ubuntu:latest
# install flask server
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
COPY app.py /
RUN pip install flask
# install ruby
RUN \
apt-get install -y ruby ruby-dev ruby-bundler && \
rm -rf /var/lib/apt/lists/*
# install lua
RUN apt-get update -y && apt-get install -y luajit luarocks
# Define default command.
CMD [“python”, “app.py”]
Run Code Online (Sandbox Code Playgroud)
但是,它以错误/ bin / sh显示:1:[“ python” ,:找不到
我不知道为什么会这样。有人可以帮我吗?
testing on ../../test/test_patm.py
python: Python/compile.c:4420: int assemble_lnotab(struct assembler *,
struct instr *): Assertion `d_lineno >= 0' failed.
Aborted
Run Code Online (Sandbox Code Playgroud)
运行我的测试程序时,我收到了上面给出的错误.最后我发现Python3.5和Python3.6的源代码差别很小.只需一行:
Python3.5
static int
assemble_lnotab(struct assembler *a, struct instr *i)
{
int d_bytecode, d_lineno;
Py_ssize_t len;
unsigned char *lnotab;
d_bytecode = a->a_offset - a->a_lineno_off;
d_lineno = i->i_lineno - a->a_lineno;
assert(d_bytecode >= 0);
assert(d_lineno >= 0); // the only difference
if(d_bytecode == 0 && d_lineno == 0)
return 1;
...
Run Code Online (Sandbox Code Playgroud)
Python 3.6
static int
assemble_lnotab(struct assembler *a, struct instr *i)
{
int d_bytecode, …Run Code Online (Sandbox Code Playgroud) 在下面的代码中sizeof(int)会产生signed int与4个字节的值(假设在一个特定的编译器)和-1也signed int,则我的答案应该是,但它显示没有.
#include <stdio.h>
int main()
{
if (sizeof(int) > -1)
printf("Yes");
else
printf("No");
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我正在将 PostgreSQL 数据库用于程序并遇到contains range ( @>)运算符。
当我在 python SQLAlchemy 中转换 PostgreSQL 查询时,因此,我需要转换@>成它的 SQLAlchemy 等价物。
我不知道此错误的含义以及如何解决该错误。
我一直在关注C入门的Sock)et编程教程| Eduonix的第2部分,在Youtube上,但是我一直无法从这个家伙那里运行任何东西,代码来自他的教程。
如果有人可以帮助我了解此错误的含义以及如何解决该错误?
这是错误:
inet_aton(address, &remote_address.sin_addr.s_addr);
^
Run Code Online (Sandbox Code Playgroud)
[1007:1003 0:6758] 09:30:39 Wed May 29 [kristjan@Kundrum:pts/5 +1] ~/C_Programming
$ gcc http_client_tcp.c -o http_client_tcp
http_client_tcp.c: In function ‘main’:
http_client_tcp.c:24:24: warning: passing argument 2 of ‘inet_aton’ from incompatible pointer type [-Wincompatible-pointer-types]
inet_aton(address, &remote_address.sin_addr.s_addr);
^
In file included from http_client_tcp.c:8:0:
/usr/include/arpa/inet.h:73:12: note: expected ‘struct in_addr *’ but argument is of type ‘in_addr_t * {aka unsigned int *}’
extern int inet_aton (const char *__cp, struct in_addr *__inp) __THROW;
^~~~~~~~~
Run Code Online (Sandbox Code Playgroud)
我在Visual Studio …
python ×5
c ×4
sqlalchemy ×2
android ×1
arraylist ×1
dialog ×1
docker ×1
dockerfile ×1
inet-aton ×1
java ×1
natural-sort ×1
pointers ×1
postgresql ×1
python-3.x ×1
strcpy ×1
string ×1