小编Ant*_*ala的帖子

C:将 4 个字节写入大小为 3 的区域是否会溢出目标?

我的简单 C 程序如下。最初,我buf1用 3 个字符定义了变量。

我对 2 个字符没有任何问题,例如ABXY

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)

c null-terminated strcpy

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

Python:'str'对象不可调用

我有以下代码

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)

这是为什么?怎么修?

python string

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

在Android中使用自然排序顺序对ArrayList进行排序?

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)

我把它排序但不完美,怎么做,我不知道,如果你有任何想法,请与我分享.

java android arraylist natural-sort

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

检查Python 2.7中是否存在文件

我正在使用一个简单的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()的一个调用失败直到所需的条件匹配时,会弹出一个对话框,声称该歌曲在找到之前不存在.如何防止弹出该对话框?

python dialog

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

如何在sqlalchemy中映射postgres EARTH列

我正在使用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迁移能够应付吗?

谢谢!

python sqlalchemy

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

Dockerfile错误:/ bin / sh:1:[““ python” ,:找不到

这是我尝试构建的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” ,:找不到

我不知道为什么会这样。有人可以帮我吗?

docker dockerfile

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

Python3.5和Python3.6的源代码之间有什么区别?

 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)

c python python-3.x python-internals

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

为什么应该在此代码中引入类型促销?

在下面的代码中sizeof(int)会产生signed int与4个字节的值(假设在一个特定的编译器)和-1signed int,则我的答案应该,但它显示没有.

#include <stdio.h>
int main()
{
    if (sizeof(int) > -1)
        printf("Yes");
    else
        printf("No");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

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

什么是 PostgreSQL @&gt; 运算符在 SQLAlchemy 中的等价物

我正在将 PostgreSQL 数据库用于程序并遇到contains range ( @>)运算符。

当我在 python SQLAlchemy 中转换 PostgreSQL 查询时,因此,我需要转换@>成它的 SQLAlchemy 等价物。

python postgresql sqlalchemy

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

警告:从不兼容的指针类型传递'inet_aton'的参数2。

我不知道此错误的含义以及如何解决该错误。

我一直在关注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 …

c error-handling pointers compiler-errors inet-aton

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