Articles of string

valgrind错误与strcpy

此代码应该从userInput以null结尾的string提取path /* begin createPath */ static inline char* createPath(char * userInput) {/* This function retuns the path from the userInput */ int pathStringLength = 0; char *buf = userInput; while(*(buf++) != ' ') pathStringLength++; char *path = malloc(pathStringLength+1); strncpy(path, userInput, pathStringLength); // memcpy(path, userInput, pathStringLength); path[pathStringLength+1] = '\0'; return path; } /* end createPath */ […]

如何防止用户读取存储在二进制文件中的string?

这是一个最小的testing用例: #include <stdio.h> #include <stdlib.h> int main ( int argc , char **argv ) { const char abc [15] = "abcdefg\0"; printf ("%s\n" , abc); return 0; } 你做strings test ,你应该看到abcdefg ,因为它存储在只读区域。 那么,什么是防止用户读取这个string的最好方法,用“strings”命令,例如我不想让用户知道我的SQL语句

正确的阅读方式/ proc / pid / status

我这样读取/proc/<pid>/status : std::ifstream file(filename); std::string line; int numberOfLinesToRead = 4; int linesRead = 0; while (std::getline(file, line)) { // do stuff if (numberOfLinesToRead == ++linesRead) { break; } } 我注意到,在极less数情况下, std::getline挂起。 为什么会发生? 我以为proc文件系统应该处于某种一致的状态,不应该有新行丢失的情况。 我的假设是,当EOF /错误发生时, getline返回false 。 什么是推荐的, 安全的方式来读取/proc/<pid>/status ?

检查一个string是否包含星号(*)

我想检查我的string是否包含一个或多个星号。 我试过这个: if [[ $date_alarm =~ .*\*.* ]] then … fi 当我直接启动脚本时,它工作正常,但是如果在closures过程中调用这个脚本(脚本通过update-rc.d在运行级别0和6中安装脚本) 任何想法,build议? 谢谢

为什么emacs有时会在我的文件顶部插入奇怪的字符?

每当我使用emacs保存一个文件时,我都会打开文件来查找在文件开头插入的奇怪的string。 我已经注意到这在多台电脑上,所以我不相信这是特定于我的机器。 我使用GNU Emacs版本23.1.1运行Ubuntu 9.04。 以下是我在编辑乳胶文档时发现的一个示例: B1;2305;0c\documentclass{article} \usepackage{graphicx} \usepackage{hyperref} 我可能会错误地closures文件?

如何显示包含在Bashstring中的唯一字?

我有一个重复单词的string。 我只想显示唯一的单词。 string是: variable="alpha bravo charlie alpha delta echo charlie" 我知道几种可以一起做的工具。 这是我想出的: echo $variable | tr " " "\n" | sort -u | tr "\n" " " 什么是更有效的方法来做到这一点?

toupper和tolower函数在linux中使用XOR按位操作

在Linux源代码中 tolower和topupper的实现如下 static inline unsigned char __tolower(unsigned char c) { if (isupper(c)) c -= 'A'-'a'; return c; } static inline unsigned char __toupper(unsigned char c) { if (islower(c)) c -= 'a'-'A'; return c; } 我可以使用XOR(^)按位操作,如下所示。 如果我使用异或操作,是否有任何潜在的Bug? c -= 'A'-'a'; —-> c = c ^ 0x20 ; //using xor to convert to lower case to upper […]

将两个或多个空格更改为单个分号

我正在努力格式化一个db2查询。 我想用分号replace一个string中的两个或多个空格。 我知道如何去做所有的空间,问题是如何改变只有两个或更多的空间:P 这里是一个例子,我想改变这个: john doe 1900-01-01 california 至 john doe;1900-01-01;california 问题是我在名称字段中有一个空格,所以我不能使用简单的tr命令。 在我的实际工作中,任何领域都可以有一个单一的空间。 非常感谢您的帮助! 提前致谢!

连接string文字

我已经看到了一些这样的post,像这个 ,但没有人帮助我在我的特定情况。 scriptsPath="/var/db/gbi/scripts/" echo "$scriptsPathawesome.csv"; 我希望这个回声/var/db/gbi/scripts/awesome.csv 相反,我得到.csv 似乎它认为我想引用一个名为$scriptsPathawesome的variables。 如何将$scriptsPathvariables连接到"awesome.csv"string?

如何replacePOSIX shstring中的“/”

要replacebashstringstr中的子string,我使用: str=${str/$pattern/$new} 不过,我现在正在写一个将用ash执行的脚本。 我有一个string包含'/' ,我想用上面的语法来replace我的string中的'/' ,但它不起作用。 我试过了: str=${str///a} str=${str/\//a} str=${str/'/'/a} 但他们不工作 我如何解决这个问题?