小编Kei*_*son的帖子

是否有GNU getline接口的替代实现?

我目前正在进行的实验使用的软件库具有复杂的源历史记录,并且没有明确定义的许可证.合理化事物并在固定许可下发布将是一项相当大的工作.

它也打算运行一个随机的unixish平台,只有我们支持的一些libc有GNU getline,但现在代码期望它.

有没有人知道在限制较少的许可下可以重新实现GNUgetline语义?

编辑::我问,因为谷歌没有帮助,我想尽可能避免写一个(这可能是一个有趣的练习,但它不能最好地利用我的时间.)

更具体地说,有问题的界面是:

ssize_t getline (char **lineptr, size_t *n, FILE *stream);
Run Code Online (Sandbox Code Playgroud)

c licensing getline

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

预期的整数表达式

我想每隔5秒逐行读取我的文件.这次我只尝试了单行bash命令来执行此操作.而bash命令是:

let X=1;while [ $X -lt 20 ];do cat XXX.file |head -$X|tail -1;X=$X+1;sleep 5;done
Run Code Online (Sandbox Code Playgroud)

但是我收到的错误如下:

-bash: [: 1+1: integer expression expected
Run Code Online (Sandbox Code Playgroud)

有什么问题?顺便说一句,为什么我们不能做X <20?(相反,我们必须做 - 小于?)

谢谢

bash

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

在ls(bash)中匹配文件名

我有以下文件

tcpdump-12
tcpdump-12.delay
tcpdump-24
tcpdump-24.delay
Run Code Online (Sandbox Code Playgroud)

有没有办法ls只有文件

tcpdump-12
tcpdump-24
Run Code Online (Sandbox Code Playgroud)

我可以

ls tcpdump-[[:digit:]][[:digit:]]
Run Code Online (Sandbox Code Playgroud)

但我正在寻找一些更通用的东西,可以使用任意数量的数字,如tcpdump- [0-9] +,如果我使用的是vim或python正则表达式.

regex bash

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

连接应该多久关闭/打开一次?

我在C#上逐行写入SQL服务器上的两个表.

我的C#app将参数传递给2个存储过程,每个过程都将行插入表中.

每次调用存储过程时,我都会打开然后关闭连接.

我需要在数据库中写入大约100米的行.

每次调用存储过程时,我应该关闭并打开连接吗?

这是我正在做的一个例子:

public static void Insert_TestResults(TestResults testresults)
        {
            try
            {
                DbConnection cn = GetConnection2();
                cn.Open();

                // stored procedure
                DbCommand cmd = GetStoredProcCommand(cn, "Insert_TestResults");
                DbParameter param;

                param = CreateInParameter("TestName", DbType.String);
                param.Value = testresults.TestName;
                cmd.Parameters.Add(param);


                if (testresults.Result != -9999999999M)
                {
                    param = CreateInParameter("Result", DbType.Decimal);
                    param.Value = testresults.Result;
                    cmd.Parameters.Add(param);
                }


                param = CreateInParameter("NonNumericResult", DbType.String);
                param.Value = testresults.NonNumericResult;
                cmd.Parameters.Add(param);

                param = CreateInParameter("QuickLabDumpID", DbType.Int32);
                param.Value = testresults.QuickLabDumpID;
                cmd.Parameters.Add(param);
                // execute
                cmd.ExecuteNonQuery();

                if (cn.State == ConnectionState.Open)
                    cn.Close();

            }
            catch (Exception e)
            { …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server

11
推荐指数
3
解决办法
3228
查看次数

打印char数组的十六进制表示[]

我有一个8字节的数组,我正在尝试打印出十六进制表示法.使用printf("%x", array)我可以得到第一个字节并打印出来,但我得到的"0xffffff9b"或类似的东西.有没有办法在没有"f"的情况下获得符号?

我想打印出每个元素看起来像:

0x9a, 0x43, 0x0D

c hex

11
推荐指数
2
解决办法
5万
查看次数

C未知类型名称'my_structure'

我有这个代码:

main.h

#ifndef MAINH
#define MAINH
...
#include "my_struct.h"
void some_func(my_structure *x);
...
#endif
Run Code Online (Sandbox Code Playgroud)

my_struct.h

#ifndef UTILSH
#define UTILSH
...
#include "main.h"
...
typedef struct abcd {
    int a;
} my_structure;
...
#endif
Run Code Online (Sandbox Code Playgroud)

但是当我尝试编译时,我得到了这个: error: unknown type name ‘my_structure’

知道为什么吗?

c gcc struct

11
推荐指数
2
解决办法
8万
查看次数

无序的一对对,编译错误

我正在尝试创建一组无序的对

到目前为止,我有:

typedef std::pair<int, int> Move;
typedef std::unordered_set<Move> Set;
Run Code Online (Sandbox Code Playgroud)

我将在未来制作一套Move,现在我只有:

Set* King::possibleMoves() 
{
  Set hello;    <-------- THINK ERROR OCCURS HERE
  return &hello;
}
Run Code Online (Sandbox Code Playgroud)

但我一直得到这3个错误:

`/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/type_traits:770:38: error: 
  implicit instantiation of undefined template 'std::__1::hash<std::__1::pair<int, int>
  >'
: public integral_constant<bool, __is_empty(_Tp)> {};
                                 ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/memory:1951:40: note: 
  in instantiation of template class
  'std::__1::is_empty<std::__1::hash<std::__1::pair<int, int> > >' requested here
                            bool = is_empty<_T2>::value
                                   ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/memory:1973:44: note: 
  in instantiation of default argument for '__libcpp_compressed_pair_switch<unsigned
  long, std::__1::hash<std::__1::pair<int, int> >, false, false>' required here
template <class _T1, class _T2, unsigned …
Run Code Online (Sandbox Code Playgroud)

c++

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

Winsock重新定义错误

我正在编译Visual C++ 2010中的项目,但是我遇到了一些Winsock重定义的问题.

首先我得到:

syntax error : identifier 'SOCKADDR_STORAGE'
Run Code Online (Sandbox Code Playgroud)

但是,如果我包含winsock或winsock2或ws2tcpip,我会收到许多错误:

error C2011: 'sockaddr' : 'struct' type redefinition 
error C2011: 'WSAData' : 'struct' type redefinition
error C2011: 'linger' : 'struct' type redefinition
Run Code Online (Sandbox Code Playgroud)

c++ windows winsock visual-studio-2010 redefinition

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

尾部的-f标志有什么作用?

我知道tail打印文件的最后几行.我阅读了尾巴的文档

man tail
Run Code Online (Sandbox Code Playgroud)

它说

-f选项导致尾部在到达文件结尾时不停止,而是等待将其他数据附加到输入.

我测试了命令

tail -f sample.txt
Run Code Online (Sandbox Code Playgroud)

tail sample.txt
Run Code Online (Sandbox Code Playgroud)

并看到了有什么不同.但有人可以提供一个真实的例子,说明为什么他们会使用tail -f而不仅仅是tail

unix terminal

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

以有效的方式乘以7

我最近遇到了以下面试问题:

如何以高效优化的方式将数字乘以7?

我知道我可以乘以8(或左移三位)然后减去原始值:

num = (num << 3) - num;
Run Code Online (Sandbox Code Playgroud)

但还有其他解决方案.

c

9
推荐指数
3
解决办法
3293
查看次数

标签 统计

c ×4

bash ×2

c++ ×2

c# ×1

gcc ×1

getline ×1

hex ×1

licensing ×1

redefinition ×1

regex ×1

sql ×1

sql-server ×1

struct ×1

terminal ×1

unix ×1

visual-studio-2010 ×1

windows ×1

winsock ×1