c-strings相关内容
采用具有以下定义的 CString: CString strNameText = _T("Mr Happy [12]"); 我有一系列的名字,所有的名字都有空格,最后是括号.现在我只想从字符串中提取名称. 我意识到我可以找到"的第一个索引[" 然后提取左侧的文本直到该索引.但是我可以使用任何正则表达式命令来做同样的事情吗? 解决方案 我可能会建议在此处替换正则表达式,以删除字符串
..
这是我必须做的:c.应该可以移除具有指定名称的动物.如果存在更多同名动物,则应删除所有同名动物. 这是我的代码: void deleteAnimalByName(char *animalName, int *nrOfAnimals, ANIMAL *animalArray){for(int i = 0; i
..
我一直在研究这个问题: #includeint main(){printf(5 +“早安");返回0;} 为什么要打印《早晨》? 有什么解释吗? 解决方案 在此printf调用中 printf(5 +“早安"); 使用类型为 char [14] 的字符串文字"Good Morning" .在表达式 5 +“早安" 中使用时,它将转换为指向其第一个字符
..
我正在开始一个个人项目,将用python编写的解释器转换为C.这纯粹是出于学习目的. 我遇到的第一件事是尝试转换以下内容: 如果__name__ ==" __ main __" ;:如果不是argv [-1] .endswith('.py'):... 到目前为止,我已经为 endswith 方法 完成了以下转换 #include#include
..
基本上我想知道是否有办法在缓冲区中保留一个空字节吗? 示例: #includeint main(){char buf [] ="hello there \ x00,Hi";printf(“%s \ n",buf);返回0;} 不幸的是,如果您在上面编译,您将获得的输出仅为 hello (空值由 \ x00 终止).那么有没有办法将空字节保留在堆栈中并在之后获得 H
..
我对在字符串上使用指针感到非常困惑.感觉就像他们遵循不同的规则.考虑以下代码 char * ptr ="apple";//在这里完全有效,在以后像下一个那样声明时不可用ptr =“苹果";//不应该是* ptr ="apple" printf()的行为也有所不同- printf(“%s",ptr)//为什么要发送地址而不是值 我也在书中遇到了以下代码 char str []
..
据我了解,以下代码的工作方式如下: char * cptr ="Hello World"; "Hello World"位于程序内存的 .rodata 部分中.字符串文字"Hello World" 返回指向字符串基地址或所谓“数组"中第一个元素的地址的指针,因为字符在内存中顺序排列这将是"H".这是我的小图,当我看到存储在内存中的字符串文字时: 0x4:'H'0x5:"e"0x6:'l'
..
用我的代码很难理解这个运行时错误.这是我的课上的作业,我认为这很容易,但还有一些奇怪的事情要做.我已经在下面发布了我的代码. 进行此分配的提示是创建一个程序,要求用户输入以输入一些单词,然后应输出有多少个单词.我有一个朋友运行该程序,并且可以正常运行,但是,每当我尝试运行该程序时,都会出现此运行时错误.[ http://imgur.com/FcdN3zK ] 请记住,我一般是C ++和
..
我用C语言编写了这小段代码,以测试C语言中的 memcmp() strncmp() strcmp()函数. 这是我编写的代码: #include#include#includeint main(){char * word1 ="apple",* word2 ="atoms";如果(strncmp(word1,word2,5)==
..
可能重复: 比较两个C-样式字符串? 我的比赛条件不起作用!有人可以建议如何与C风格的字符串进行比较吗? void saveData(字符串行,char *数据){char * testString = new char [800];char * stpr;int i = 0;bool isData = false;char * com =数据;strcpy(testString,li
..
我尝试实施 strcmp : int strCmp(char string1 [],char string2 []){int i = 0,标志= 0;而(flag == 0){如果(string1 [i]> string2 [i]){标志= 1;} 别的如果(string1 [i]
..
K.N. King的 C编程:现代方法第二版的解决方案,第8章,编程项目14,产生了正确和不正确的不同输出.示例如下: 反转句:你不能吞下一个笼子吗?换句话:你不能吞下一个笼子.换句话:你不能吞下笼子吗?换句话:你不能吞下笼子吗?? 如示例输入所示,正确的输出应为: 输入一个句子:可以吞下燕子吗?换句话:你不能吞下笼子吗? 我自己的解决方案和下面的解决方案(由Github用户@will
..
正在开发使用RPN(反向波兰表示法)的程序. 我有一个函数,可以在不使用 strtok 或触发 printf 的情况下反转字符串的所有单词(与在线和此处找到的所有解决方案不同). 该函数实际上会部分起作用,因为它会打印给定字符串中除最后一个字符串以外的所有单词,我需要帮助找出正在发生的事情. char * extract(char s []){如果(s [0] =='\ 0')返回
..
我正在尝试打印char *名称; 我尝试过 fprintf(stderr,“%c",*名称) 但是它似乎不起作用.我的理由是,由于名称是字符指针,因此我可以使用*来获取指针的值. 它给出了错误错误:格式指定类型为'char *',但参数的类型为'char' 解决方案 您在这里 #includeint main(无效){char * name ="
..
我不是C程序员,所以我对C-string不太熟悉,但是现在我必须使用C库,因此这是我的代码的简化版本,以演示我的问题: char ** ReadLineImpl :: my_completion(){char * matchs [1];matchs [0] ="add";返回比赛;} 我收到此警告: 警告-与本地变量"matches"相关联的堆栈内存地址 我的程序似乎无法正常运
..
CString 非常方便,而 std :: string 与STL容器更兼容.我正在使用 hash_map .但是, hash_map 不支持 CString 作为键,因此我想将 CString 转换为 std :: string . 编写 CString 哈希函数似乎需要很多时间. CString ----->std :: string 我该怎么做? std :: string
..
在我的一个程序中,我必须与一些与 const char * 一起使用的旧代码对接. 让我们说一个结构如下: struct Foo{const char *服务器;const char *名称;}; 我的上层应用程序仅处理 std :: string ,所以我想到了使用 std :: string :: c_str()取回const char * 指针. 但是 c_str()的生
..
我的代码中有一部分广泛使用字符串视图.在任何地方使用 std :: string 都是不可想象的,并且 char const * 将不起作用,因为存在关联容器,许多比较以及此类操作难以执行的操作带有简单的原始字符串. 但是,有一个地方最终将处理C API,并且它需要以null结尾的字符串: auto sv = std :: string_view {/* ... */};c_api(sv
..
我正在尝试用C语言修改字符串 char signal_cat [8];如果(k == 1){strcpy_s(signal_cat,"HPHA",6);//为什么我不能更改char数组(字符串)的值???}否则(k == 2){strcpy_s(signal_cat,“普通",6);}printf(“原始信号类别:%s \ n",signal_cat); 运行此命令时,它显示异常"Lab3
..
我是JNI的新手,所以我对JNI和英语都不熟悉. 我的JNI项目是一个简单的File读写.用Java读取文件并将字节数组传递给C API,然后使用C将其写入文件. 我的源代码: Java代码是: public class FileIO { static { System.loadLibrary("FileIO"); } pr
..