小编Kei*_*son的帖子

十六进制格式的无符号长整型打印

我想打印出unsigned long long这样的:

  printf("Hex add is: 0x%ux ", hexAdd);
Run Code Online (Sandbox Code Playgroud)

但我得到了类型转换错误,因为我有一个unsigned long long.

c printf integer

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

std :: string是否可以包含嵌入的空值?

对于常规C字符串,空字符'\0'表示数据的结尾.

那么std::string,我可以使用嵌入空字符的字符串吗?

c++ c-strings stdstring null-terminated

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

如何检查$?在unix shell脚本中不等于零?

我有一个脚本,它使用test命令检查$?(最后执行的命令的返回码)是否不等于零.代码如下: -

$? 是最后执行的命令的退出状态.

if (test $? -ne 0)
then
//statements//
fi
Run Code Online (Sandbox Code Playgroud)

但是,这种验证方式对于字符串不起作用,因为get语法错误.请为此建议一个合适的替代方案.

unix shell

36
推荐指数
3
解决办法
17万
查看次数

仅显示tcsh或bash中符号链接的文件和文件夹

基本上我想做以下事情:

ls -l[+someflags]
Run Code Online (Sandbox Code Playgroud)

(或通过其他方式)只显示符号链接的文件

所以输出看起来

-rw-r--r--  1 username grp   size date-time    filename -> somedir
-rw-r--r--  1 username grp   size date-time    filename2 -> somsdfsdf
Run Code Online (Sandbox Code Playgroud)

等等

例如,

仅显示我有别名的目录:

alias  lsd  'ls -l | grep ^d'
Run Code Online (Sandbox Code Playgroud)

我想知道如何只显示隐藏文件或只隐藏目录?

我有以下解决方案,但它不显示颜色的输出:(

ls -ltra | grep '\->'
Run Code Online (Sandbox Code Playgroud)

linux shell csh tcsh

35
推荐指数
6
解决办法
5万
查看次数

什么是EOF的值和'\ 0'在C中

我知道EOF并且'\0'是整数类型,但如果是这样,它们不应该有固定值吗?

我打印了两个并获得-1 EOF和0 '\0'.但这些价值是固定的吗?

我也有这个

int a=-1;

printf("%d",a==EOF); //printed 1
Run Code Online (Sandbox Code Playgroud)

EOF'\0'整数的值?

c c++ null eof

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

将null值与字符串进行比较时,在shell脚本中需要一元运算符

我有两个变量

var=""
var1=abcd
Run Code Online (Sandbox Code Playgroud)

这是我的shell脚本代码

if [ $var == $var1 ]; then
  do something
else
  do something
fi
Run Code Online (Sandbox Code Playgroud)

如果我运行此代码,它将提示警告

[: ==: unary operator expected
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

shell

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

为什么打印0(零)而没有使用C printf格式"%#x"的前导"0x"?

背景:我有许多脚本通过查找前导"0x"来解析查找十六进制数字的日志文件.我们的嵌入式C库改为新的printf.新的printf比我们之前更符合标准,我的脚本破了.

在Linux机器上:

#include <stdio.h>
int main( void )
{
    printf( "%#010x\n", 0 );
    printf( "%#010x\n", 1 );
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出(使用glibc)是:

0000000000
0x00000001
Run Code Online (Sandbox Code Playgroud)

我们公司的输出是:

0x00000000
0x00000001
Run Code Online (Sandbox Code Playgroud)

从printf(3)开始,在'#'标志字符上:"对于x和X转换,非零结果的前缀为字符串"0x"(或X转换为"0X")."

我很好奇为什么.如果没有挖掘C标准文件或为标准委员会成员购买午餐,为什么不在零价值论证中使用前导0x?

c printf hex

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

Ubuntu中export命令的含义

export在Ubuntu 中意味着什么?例如:

export PATH=$PATH:/usr/src/hive/build/dist/bin/
Run Code Online (Sandbox Code Playgroud)

ubuntu

26
推荐指数
2
解决办法
4万
查看次数

每次运行程序时都有相同的随机数

我的随机数输出,每次运行我的游戏时以相同的顺序输出.为什么会这样?

我有

#include <cstdlib> 
Run Code Online (Sandbox Code Playgroud)

并使用它来生成随机数

randomDiceRollComputer = 1 + rand() % 6;
Run Code Online (Sandbox Code Playgroud)

c++ random

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

不推荐使用从字符串文字到char*的转换

我在代码中不断收到错误"从字符串文字转换为char*".代码的目的是使用指针指针为一个字分配string1和string2,然后将其打印出来.我怎样才能解决这个问题?

这是我的代码:

#include <iostream>
using namespace std;

struct WORDBLOCK
{
    char* string1;
    char* string2;
};

void f3()
{
    WORDBLOCK word;

    word.string1 = "Test1";
    word.string2 = "Test2";


    char *test1 = word.string1;
    char *test2 = word.string2;

    char** teststrings;

    teststrings = &test1;
    *teststrings = test2;

    cout << "The first string is: "
         << teststrings
         << " and your second string is: "
         << *teststrings
         << endl;  
}
Run Code Online (Sandbox Code Playgroud)

c++ string char

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

标签 统计

c++ ×4

c ×3

shell ×3

printf ×2

c-strings ×1

char ×1

csh ×1

eof ×1

hex ×1

integer ×1

linux ×1

null ×1

null-terminated ×1

random ×1

stdstring ×1

string ×1

tcsh ×1

ubuntu ×1

unix ×1