Articles of string

使用grep来匹配MD5哈希

我怎样才能匹配md5哈希与grep命令? 在PHP中,我在过去使用了这个正则expression式模式: /^[0-9a-f]{32}$/i 但是我试过了: grep '/^[0-9a-f]{32}$/i' filename grep '[0-9a-f]{32}$/' filename grep '[0-9a-f]{32}' filename 和其他变种,但我没有得到任何输出,我知道肯定该文件包含md5散列。

在命令行上将string转换为hex

我试图用命令行尽可能高效地将“Hello”转换为hex的48 65 6c 6c 6f 。 我试过看printf和谷歌,但我不能得到任何地方。 任何帮助不胜感激。 提前谢谢了,

如何在bash脚本中回显“$ x_ $ y”?

这是非常有趣的,如果你打算用bash显示“0_1”使用代码 x=0 y=1 echo "$x_$y" 那么它只会显示 1 我试图echo "$x\_$y" ,它不起作用。 所以我的问题是如何回声forms$ x_ $ y? 我将在文件名string上使用它。

std :: string :: assign()方法中的奇怪的SIGSEGV段错误libstdc ++。so.6

我的程序在运行时最近遇到了一个奇怪的段错误。 我想知道是否有人遇到过这个错误,以及如何解决这个问题。 这里是更多的信息: 基本信息: CentOS 5.2,内核版本是2.6.18 g ++(GCC)4.1.2 20080704(Red Hat 4.1.2-50) CPU:Intel x86系列 的libstdc ++。so.6.0.8 我的程序将启动多个线程来处理数据。 段错误发生在其中一个线程中。 虽然这是一个multithreading程序,但段错误似乎发生在本地的std :: string对象上。 我稍后会在代码片段中显示。 该程序是用-g,-Wall和-fPIC编译的,没有-O2或其他优化选项。 核心转储信息: Core was generated by `./myprog'. Program terminated with signal 11, Segmentation fault. #0 0x06f6d919 in __gnu_cxx::__exchange_and_add(int volatile*, int) () from /usr/lib/libstdc++.so.6 (gdb) bt #0 0x06f6d919 in __gnu_cxx::__exchange_and_add(int volatile*, int) () from /usr/lib/libstdc++.so.6 […]

如何在linux中find包含string的行

我在Linux中有一个文件,我想显示包含该文件中的特定string的行,如何做到这一点?

为什么Linux上的string文字的内存地址与其他string的内存地址不同?

我注意到string文字在内存中的地址与其他常量和variables(Linux OS)非常不同:它们有许多前导零(未打印)。 例: const char *h = "Hi"; int i = 1; printf ("%p\n", (void *) h); printf ("%p\n", (void *) &i); 输出: 0x400634 0x7fffc1ef1a4c 我知道他们存储在可执行文件的.rodata部分。 有没有一种特殊的方式操作系统后来处理它,所以文字最终在一个特殊的内存区域(前导零)? 这个内存位置有没有什么优点,或者有什么特别的地方呢?

关于Microsoft的string安全function

WCHAR* someString = L"SomeString\n"; WCHAR s1[MAX_PATH]; // I'm sure this is right code. StringCchCopyW(s1, _countof(s1), someString); // But I'm not sure about these example. StringCchCopyW(s1 + 100, _countof(s1) – 100, someString); // Is it right? StringCchCopyW(s1 + 100, _countof(s1), someString); // Is it right? // How about these? StringCchCatW(s1, _countof(s1) – wcslen(s1), someString); // Is […]

将stringembedded为资源

我正在写一个DLL,我想,后编译,添加一些string作为一个embedded式资源。 要做到这一点,我使用了一个类似于下面的Python脚本: hRes = win32api.BeginUpdateResource(myFile, 0) win32api.UpdateResource(hRes, win32con.RT_STRING, 409, buf, 1033) win32api.EndUpdateResource(hRes, 0) 这似乎工作,我可以看到我的hex编辑器在PE中的string。 当我的Dll尝试使用LoadString()将该string取出时,会发生此问题。 这个电话是这样的: LoadString(myDll, 409, someBuf, lenOfBuf); 而我的程序似乎是在LoadString()调用中去引用一个不好的指针。 我的问题在于我是如何添加string还是将其拔出? 任何人都可以指向我的两个步骤的示例代码? 编辑 :我宁愿为此使用Win32 API。

C拆分string函数

我正在尝试实现function拆分string,但我不断收到分段错误。 我正在使用Windows XP,因此我也必须实现strdup(),因为Windows API不提供它。 谁能告诉我下面这段代码有什么问题。 char** strspl(char* str, char* del) { int size = 1; for(int i = 0; i < strlen(str);) { if(strncmp(str + i, del, strlen(del)) == 0) { size++; i += strlen(del); } else { i++; } } char** res = (char**)malloc(size * sizeof(char*)); res[0] = strdup(strtok(str, del)); for(int i = 0; […]

错误fread在C中

我想读取一个文本文件(最大长度300MB),并在其中search一个模式(最大长度为100)。 起初我用char文本[1000000000] fread读取文本文件。 但是,我发现最好使用下面的代码: tFile = fopen("d:\\text.txt","r"); if(tFile==NULL){ fputs("Text File Error",stderr); exit(0); } fseek (tFile,0,SEEK_END); tSize = ftell(tFile); printf("%d\n",tSize); rewind(tFile); tBuffer = (char*) malloc (sizeof(char)*tSize); if (pBuffer == NULL){ fputs ("Memory Error",stderr); free (tBuffer); exit (0); } tresult = fread(tBuffer,sizeof(char),tSize,tFile); if (tresult != tSize){ fputs ("Reading Error",stderr); free (tBuffer); exit (0); } fclose(tFile); 我也写了免费(tBuffer); 在我的主要()结束。 […]