c-strings相关内容

c中字符数组的串联

我正在尝试连接2个字符数组,但是当我尝试连接两个字符数组时,我的o / p控制台挂起并且不打印任何内容。 char * str [2]; str [0] =“你好”; str [1] =“世界”; strcat(str [0],str [1]); printf(“%s\n”,str [0]); 我什至尝试了下面的代码,但同样失败了 char * ..
发布时间:2020-10-12 20:30:03 其他开发

字符串和sscanf

#include int main(){ char str [] =“我的第一本书”; char * a,* b,* c; sscanf(str,“%s%s%s”,a,b,c); printf(“ a =%s b =%s c =%s”,a,b,c); } 我想要输出:a =我的b =第一和c =书。我遇到段错误。为什么? 解决方 ..
发布时间:2020-10-12 20:28:59 其他开发

用我的C字符串反向函数进行Stange行为

我只是一个业余程序员... 阅读时,第二次也是相隔两年多的时间,kochan的“用Objective-C编程”,现在是第六版。指针一章,当我开始使用C编程时,我试图复兴过去... 因此,我尝试使用char指针来编程反向C字符串函数... 最后,我得到了期望的结果,但是...也有一个非常奇怪的行为,我无法以自己的编程经验来解释... 首先是代码: 这是一个.m文件, #im ..
发布时间:2020-10-12 20:28:51 移动开发

在C中使用printf是不安全的

我是C语言的新手,所以我开始尝试一些代码。我的代码中有一个错误,因为我相信使用 printf(pass)是不安全的,因为它会覆盖值,因此对用户不安全。我想知道 printf(pass)在我的代码中不安全吗?另外,我如何仍可以让用户在不更改我的代码的情况下打印最终登录的消息。有什么办法做到? 我的代码: #include char pass [100]; ..
发布时间:2020-10-12 20:28:41 其他开发

C#中的Pascal字符串

我正在使用C#开发音频库,并且正在开发WAVE文件格式的ATM。根据我所使用的非常有用的网站的说法,WAVE使用Pascal样式字符串。我已经使用Google搜索超过20分钟,并且只提出了 C到Pascal转换器 我知道Pascal和C字符串的比较(C代码): char * cStr =“测试”; // C-产生{'T','e','s','t','\0'} char pascal ..
发布时间:2020-10-12 20:27:39 C#/.NET

以色带为输入计算电阻值

我正在尝试开发一个C程序,通过输入标记在电阻上的色带来计算电阻值。 忽略电阻容差。 例如 输入电阻器三个频段的颜色,从 开始,最接近该频段。仅以小写 字母键入颜色,没有大写字母 Band 1 =>绿色 频段2 =>黑色 频段3 =>黄色 电阻值:500 000 -ohms 是否要解码另一个电阻器(Y / N)? => Y 显示所需格式的电阻 ..
发布时间:2020-10-12 20:27:37 其他开发

通过dll边界的C字符串

我们需要以安全的方式通过dll边界返回一个C字符串!我们该怎么做? 我的想法: extern“ C“ __declspec(dllexport)const char * const Api { ... 静态const char * output = result.c_str(); 返回输出; } 解决方案 正在返回指针 如果结果变量(std :: ..
发布时间:2020-10-12 20:27:30 C/C++开发

串联字符串文字上的c_str()安全吗?

我从此答案知道,字符串文字是静态分配的。但是以下字符串串联是否也可以安全使用? void someFunction(std :: string& foo){ functionTakingCString((“ start” + foo +“ end”)。c_str()); } 关注问题:如评论中所述,当functionTakingCString存储该指针时,这确实是不 ..
发布时间:2020-10-12 20:26:26 C/C++开发

C ++比较C字符串的麻烦

我编写了下面的代码,该代码将不起作用,但是当我更改它时,第二个代码段将起作用。 int main (int argc,char * argv []) { if(argv [1] ==“ -i”)//这不起作用 //做点 } 但是如果我编写这样的代码,这将起作用。 int main(int argc,char * argv []) { string op ..
发布时间:2020-10-12 20:26:11 C/C++开发

C ++与Rust的接口-返回CString恐慌

我试图从C ++调用用Rust编写的一些函数。到目前为止,我已经相当成功,但是在运行时与 CString 相关的恐慌仍然有一个小问题。 函数 hello 应该采用输入字符串,将其与其他字符串连接起来并返回乘积。 这是我的 fun.rs : 使用std :: ffi :: CString; #[no_mangle] pub extern“ C” fn add(a:i32, ..
发布时间:2020-10-12 20:25:09 C/C++开发

使用C从文本文件读取输入参数

我正在尝试编写一个通用函数,该函数将从格式化的文本文件中读取参数。我希望它足够灵活以使参数列表可以变化。在C中完成此操作的最佳方法是什么? 我为此苦苦挣扎了几天。我从文件中提取的字符串不是我期望的。我用来调试的示例文本文件很简单: Nx:1600; Ny:400; dx:.524584; dy:.25; dt:1; 我的程序在下面。 #in ..
发布时间:2020-10-12 20:25:01 其他开发

了解C弦和C ++中的字符串文字

我想问一些关于字符串文字和C字符串的问题。 所以,如果我有这样的事情: char cstr [] =“ c-string”; 据我了解,字符串文字是在内存中创建的,带有一个终止的空字节,例如从地址0xA0开始到0xA9结束,然后从那里返回地址和/或将其强制转换为char []类型,然后指向该地址。 执行以下操作是合法的: for(int i = ..
发布时间:2020-10-12 20:23:55 C/C++开发

格式化带有多个百分号的字符串

我知道 %% 用于转义字符串中的实际%标记,因此 %%% ds 将在以下格式字符串中以%10s 结尾,但是我不知道为什么我需要 %% 5s 是否在此字符串中? 毕竟,只有两个附加参数(BUFFSIZE / 10)。 #define BUFFSIZE 100 char buf [100] = {0} sprintf(buf,“ %% 5s %%% ds %%% ds“,BUFF ..
发布时间:2020-10-12 20:23:47 其他开发

使用C样式字符串文字与构造未命名std :: string对象的默认建议?

因此C ++ 14引入了许多要使用的用户定义文字,其中之一是” s“字面后缀,用于创建 std :: string 对象。根据文档,其行为与构造 std :: string 对象完全相同,如下所示: auto str =“ Hello World!” s; // RHS等效于:std :: string {“ Hello World!” } 当然会构造一个未命名的 std ..
发布时间:2020-10-12 20:23:44 C/C++开发

cin函数是否在输入末尾添加以null结尾的空值?

如果我声明一个字符数组: char arr [200] ,然后我随后使用cin函数将值读入 arr [200] ,然后在命令行窗口中键入:abcd 是否有空终止: \0 会在输入末尾自动添加到数组吗? (我不这么认为,因为我已经对其进行了测试使用cin函数:cin >> abcd) 有人可以向我解释为什么吗? 下面是我用来测试的代码片段 char arr [20 ..
发布时间:2020-10-12 20:23:37 C/C++开发

我应该在FFI中传递可变引用或转让变量的所有权吗?

我有一个程序,该程序通过C FFI(通过winapi-rs)利用Windows API。函数之一期望将指向字符串的指针作为输出参数。该函数将其结果存储到此字符串中。我正在为该字符串使用类型为 WideCString 的变量。 我可以“只是”将可变引用传递给对字符串的引用到此函数中(在不安全的块内),还是应该使用 .into_raw()和 .from_raw()也会将变量的所有权移到C函数吗? ..
发布时间:2020-10-12 20:23:35 其他开发

在Python中反转C样式格式字符串(`%`)

简介和设置 假设我有一个格式为'template'*的字符串, >>> template =“”。我的%(pet)吃了我的%(object)。 ...这是一个浮点数:%(number)0.2f。 ...%(integer)10d是换行符上的整数。 使用此模板,我可以生成一个新字符串, >>> d = dict(pet ='dog',object ='home ..
发布时间:2020-10-12 20:23:33 Python