小编kna*_*arf的帖子

如何在Golang的字节缓冲区中解压缩各种形式的整数?

我需要在字节缓冲区中提取各种字段.我想出了这个解决方案:

func (fs *FileSystem) readSB() {
    // fs.f is a *os.File
    buf := make([]byte, 1024)
    fs.f.ReadAt(buf, 1024)

    // Offset: type
    var p *bytes.Buffer

    // 0: uint32
    p = bytes.NewBuffer(buf[0:])
    binary.Read(p, binary.LittleEndian, &fs.sb.inodeCount)
    // 4: uint32
    p = bytes.NewBuffer(buf[4:])
    binary.Read(p, binary.LittleEndian, &fs.sb.blockCount)
    // 20: uint32
    p = bytes.NewBuffer(buf[20:])
    binary.Read(p, binary.LittleEndian, &fs.sb.firstDataBlock)
    // 24: uint32
    p = bytes.NewBuffer(buf[24:])
    binary.Read(p, binary.LittleEndian, &fs.sb.blockSize)
    fs.sb.blockSize = 1024 << fs.sb.blockSize
    // 32: uint32
    p = bytes.NewBuffer(buf[32:])
    binary.Read(p, binary.LittleEndian, &fs.sb.blockPerGroup)
    // 40: uint32
    p = bytes.NewBuffer(buf[40:])
    binary.Read(p, …
Run Code Online (Sandbox Code Playgroud)

buffer unpack go

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

如何用点绘制多个图形?

我有一个print_dot()在stdout上输出点的函数.那样我可以这样做:

$ ./myprogram < input | dot -T x11
Run Code Online (Sandbox Code Playgroud)

当我尝试打印一个图形时它很有用.

现在当我打印几张图表时,什么都没有出现.点窗口为空白,X11和点占用所有CPU.stderr上没有打印任何内容.

$ echo -e "graph  { a -- b }" | dot -T x11 # work
$ echo -e "graph  { a -- b } \n graph { c --d }" | dot -T x11 # doesn't work

# it seems to be interpreted nonetheless
$ echo -e "graph  { a -- b } \n graph { c -- d } " | dot -T xdot
graph { …
Run Code Online (Sandbox Code Playgroud)

dot graphviz

13
推荐指数
3
解决办法
6713
查看次数

使用Django选择上传文件的文件名

我正在上传图片(由FileField表示),我需要在上传文件时重命名这些文件.

我希望它们像这样形成:

"%d-%d-%s.%s" % (width, height, md5hash, original_extension)

我已阅读文档,但我不知道是否需要编写自己的FileSystemStorage类或我自己的FileField类或...?一切都是如此联系,我不知道从哪里开始.

python django django-models

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

如何将字节缓冲区中以null结尾的字符串转换为Go中的字符串?

这个:

label := string([]byte{97, 98, 99, 0, 0, 0, 0})
fmt.Printf("%s\n", label)
Run Code Online (Sandbox Code Playgroud)

^@是(是空字节):

go run test.go 
abc^@^@^@
Run Code Online (Sandbox Code Playgroud)

c string go

7
推荐指数
3
解决办法
5573
查看次数

如何在WooCommerce 2.2+上手动安装翻译文件?

我希望WooCommerce插件显示法语文本(fr_FR).Wordpress的其余部分正确设置为法语,但WooCommerce仍然显示英语.

由于不包含2.2版语言包.此消息显示在管理页面上:

提供woocommerce翻译

建议的自动"更新转换"过程涉及给我的服务器FTP访问,我想避免.

fr_FR在WooCommerce混帐回购协议可用的翻译:

https://github.com/woothemes/woocommerce-language-packs/raw/master/packages/fr_FR.zip

我在与默认英语文件相同的文件夹中解压缩.

$ ls -l wp-content/plugins/woocommerce/i18n/languages 
total 1320
-rw-r--r-- 1 knarf users 211452 24 sept. 18:01 fr_FR.zip
-rw-r--r-- 1 knarf users 116765 22 sept. 10:48 woocommerce-admin-fr_FR.mo
-rw-r--r-- 1 knarf users 211901 22 sept. 10:48 woocommerce-admin-fr_FR.po
-rw-r--r-- 1 knarf users 162575 18 sept. 14:48 woocommerce-admin.pot
-rw-r--r-- 1 knarf users 163575 22 sept. 10:48 woocommerce-fr_FR.mo
-rw-r--r-- 1 knarf users 268719 22 sept. 10:48 woocommerce-fr_FR.po
-rw-r--r-- 1 knarf users 208795 18 sept. 14:48 woocommerce.pot
Run Code Online (Sandbox Code Playgroud)

我尝试过设置 …

php wordpress woocommerce

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

yyparse()仅在某些版本的gcc/bison/flex中未在Bison/Flex C++项目中声明

首先,我对Bison和Flex都很陌生.我知道这些工具是为C语言设计的,我觉得我的所有问题都来自于在C++中使用它们.我不确定我是以正确的方式做到的.

代码在我的计算机上编译良好,但不在我的大学服务器上.我已将此问题隔离到此处.

在我的大学:

$ (g++ --version; bison --version; flex --version)|grep '[0-9]\.'
g++ (Debian 4.4.5-8) 4.4.5
bison (GNU Bison) 2.4.1
flex 2.5.35

在家:

HOME $ (g++ --version; bison --version; flex --version)|grep '[0-9]\.'
g++ (GCC) 4.7.1 20120721 (prerelease)
bison (GNU Bison) 2.6.2
flex 2.5.37

我使用以下命令编译: bison -d parse.y && flex lex.l && g++ main.cpp lex.yy.c parse.tab.c -lfl

正如我已经说过的,它在我的计算机上编译很好(没有警告),但我在服务器上得到了这个:

main.cpp: In function 'int main()':
main.cpp:28: error: 'yyparse' was not declared in this scope

由于SO在括号方面存在一些问题,我还上传了一个tarball.

lex.l

%{
#include 
#include "dict.hpp"
#include "parse.tab.h" …

c++ bison flex-lexer

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

标签 统计

go ×2

bison ×1

buffer ×1

c ×1

c++ ×1

django ×1

django-models ×1

dot ×1

flex-lexer ×1

graphviz ×1

php ×1

python ×1

string ×1

unpack ×1

woocommerce ×1

wordpress ×1