腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
Frama-c
无法
证明
` `
char
*`
以外
类型
的
缓冲区
指针
的
有效性
、
include <stdio.h> requires \valid(p+(0..n-1)); */{}
Frama-c
可以
证明
满足fread
的
前提条件。但是,恢复unsigned后,
frama-c
没有看到\valid((
char
*
浏览 1
提问于2018-08-14
得票数 1
2
回答
使用const_cast添加const-ness -坏主意?
、
、
我们都知道,应该避免使用const_cast来删除
指针
的
连续性。对于我
的
用例,我有一个函数从非const源
缓冲区
复制数据(字节)。void copyfunction(const
char
* const data) { ... } 对于下面这样
的
函数调用,这将导致
指针
类型
错误'const
char
* const <->
char
*‘声明为const,但在我
的</em
浏览 2
提问于2014-01-06
得票数 4
1
回答
从C++中
的
字符串文本返回const *?
、
、
、
通常,我将从一个函数返回一个std::string,因为返回一个const
char
*将要求调用方提供一个输出内存
缓冲区
,并且该
缓冲区
是不可调整大小
的
。但是,如果从字符串文本返回const
char
*有效吗?const
char
* generate_c_string() {} 这样做(如果有效的话)可能会更快,因为我不需要动态分配内存来构造std::string。它可能是有效
的
,因为const
char<
浏览 0
提问于2017-12-20
得票数 7
回答已采纳
1
回答
Frama-c
无法
证明
指针
比较
的
事实
考虑下面的C代码:void f(
char
*p,
char
*q) assert(p <= q-1);void g(int a, int b) assert(a <= b-1);使用alt-ergo,
frama-c
成功地
证明
了g()中
的
断言成立,但未能
证明
与
浏览 29
提问于2018-08-14
得票数 1
回答已采纳
1
回答
Frama-C
:不确定大小
的
数组访问
我一直试图对一个不确定大小
的
分配
的
数组进行循环推理,但我一直
无法
说服Frama/Eva malloc返回
的
内存
的
完整性。煮到:#include <stdlib.h>int main(void) { sz = Frama_C_interval(1,2); arr = (
char</em
浏览 9
提问于2022-02-14
得票数 2
1
回答
当使用sprintf为
char
数组分配
char
指针
作为输入时,
缓冲区
溢出。
、
、
、
我使用sprintf创建一个
char
数组,该数组以后可以作为对系统
的
调用写入。
char
buffer[80];short port = 1;system(buffer); 从理论上讲,这个
缓冲区
应该有足够
的
空间分配给这个字符串。但不知何故,由于
char
指
浏览 4
提问于2013-10-28
得票数 0
回答已采纳
1
回答
返回非连续
指针
的
C++ const方法
作为学习C++
的
练习,我创建了以下包装类,它封装了一个简单字符
缓冲区
的
创建/销毁: private: BufferClass(int pSize) return
浏览 4
提问于2020-07-30
得票数 0
回答已采纳
2
回答
我们是否可以为
char
*分配内存,但将其作为const
char
*返回?
、
、
当返回
的
实际
缓冲区
不是常量数组时,从函数返回const
char
*是否正确? 例如,在下面这个最小
的
示例中,buffer是一个非常量
char
*,但随后将其作为const
char
*返回。#include <stdio.h>#include <string.h> {
浏览 18
提问于2020-01-06
得票数 1
回答已采纳
4
回答
包含多个不同
类型
的
缓冲区
的
指针
类型
、
、
如果我想声明一个指向
缓冲区
的
指针
,并且该
缓冲区
包含多个不同
的
类型
(int、
char
等),那么我应该使用什么
类型
来创建指向
缓冲区
的
指针
?无效*
浏览 4
提问于2014-08-25
得票数 0
回答已采纳
1
回答
在Python和GObject内省中使用g
指针
、
、
我正在学习使用GObject内省
的
Python和Gtk 3。我做了一些样本,我开始不知道它是如何工作
的
。但有一件事我不明白,我怎么才能传递一个
指针
参数呢?我试图使用一个接收
缓冲区
的
函数(用g
指针
),我总是以以下消息结尾:(LP_c_ubyte是我最后一次尝试,但我已经
证明
了很多
类型
)
浏览 1
提问于2013-10-19
得票数 3
回答已采纳
2
回答
大小(文本)不等于: fp_len +1
可能只限于第一行)int text_len;fp_len = ftell(fp);
char
浏览 2
提问于2017-07-07
得票数 0
回答已采纳
1
回答
这是严格
的
别名违规吗?任何
类型
的
指针
都可以别名为
char
指针
吗?
、
我还在努力弄清楚什么是允许
的
,什么是不允许
的
。通过这个具体
的
例子,它是否违反了严格
的
混叠规则?如果没有,为什么?是因为我在
char
*
缓冲区
中放置了一个新
的
类型
吗?,void*可以别名任何其他
类型
指针
,任何
类型
指针
都可以别名void*。
char
*可以别名任何
类型
的
指针
,但反过来是真的吗?假设对齐正确,任何
浏览 3
提问于2021-08-20
得票数 8
回答已采纳
1
回答
杰茜插件不能
证明
按位或安全(w.r.t )。溢流)
、
、
、
、
我使用Frama氮来分析以下代码{ const unsigned
char
b = Frama_C_interval(0, 255); const unsigned int c = ((unsignedint)a) | ((unsigned int)b);
浏览 5
提问于2014-04-21
得票数 2
回答已采纳
4
回答
将
char
buffer传递给函数并获取
缓冲区
的
大小
、
、
、
我已将
缓冲区
大小设置为100。我在main函数中显示
缓冲区
,其中声明了
缓冲区
。然而,当我将
缓冲区
传递给函数并得到'4‘
的
大小时,我认为它应该是100,因为这是我在main中创建
的
缓冲区
的
大小。输出:
缓冲区
大小: 100 sizeof(
缓冲区
):4#include <stdio.h> void load_buffer(
char</em
浏览 10
提问于2009-03-04
得票数 12
回答已采纳
1
回答
设置指向长度为n
的
新
缓冲区
的
指针
inline String::String(const
char
* s) buffer = get_new_buffer(s);} 为了设置
指针
,我编写了一个函数,get_new_buffer(
char
* n) const来重新分配字符串
的
新
缓冲区
,并设置指向新
缓冲区
的
指针
。inline
char
* String::get_new_buffer(
char
* n
浏览 4
提问于2020-11-13
得票数 0
回答已采纳
2
回答
如何让gcc对返回局部变量
的
地址发出警告?
、
、
对于gcc 4.4.5,我有以下代码
的
警告。{ return &c;但是,当我使用临时
指针
时,不再有任何警告(即使行为是错误
的
)。
char
*f(void)
char
c; return p;我听说
指针
分析在C中很难,但是gcc能警告这样
的
代码吗?
浏览 1
提问于2012-09-01
得票数 12
回答已采纳
2
回答
在打印前将内容存储在内存中
的
目的是什么?
我是C++
的
新手,目前正在使用visual。我在网上
的
许多教程中看到,当使用ifstream从文件中读取时,在循环遍历每一行内容之前,我们将当前行
的
内容写入
char
data[] var,然后检查数据。>using namespace std; {
char
{ f >> a;
浏览 3
提问于2015-01-22
得票数 1
3
回答
如何推断variardic参数后
的
模板参数?
、
、
、
我有以下模板函数:void call(const
char
*name, Args...args, Func f){} call("test", 1, 2, 3, [=](int i) { std::cout<< i; }); 编译器抱怨它
无法
推断出模板参数知道args可以是除函数
指针
以外
的
任何
浏览 2
提问于2013-04-13
得票数 3
回答已采纳
1
回答
尝试将文本文件加载到数组中,遇到seg错误。你知道为什么吗?
、
、
这个函数
的
任务相当简单。在给定
char
*数组、指向文件
的
指针
和最大字长
的
情况下,它读取文件并将每个单词逐个复制到
char
*数组中。由于文件中每行只有一个单词,因此使用\n作为单词之间
的
分隔符是有意义
的
。我不知道为什么,因为从表面上看,这个操作似乎与我调用strCurrent[nCursor] = cCurrent;
的
另一个块中
的
操作没有什么不同。下面是分配strDictionary
的
main块。下面
浏览 1
提问于2012-10-11
得票数 0
3
回答
如何将
char
数组作为const * arg传递?
、
、
、
如何将
char
array[]传递给函数,接受const
char
* arg
类型
,最合适
的
方法是什么?请忽略以下事实:在本例中,我使用
的
是静态100
缓冲区
:sprintf_s(buff, sizeof(buff), "%s", unrelated);MyFunction(const
char
* pat
浏览 0
提问于2018-02-27
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
魅力如C——表达与倾听的艺术
C语言库函数中的BUG
Rust FFI 编程-Rust导出共享库02
C/C+常用输入函数总结,不收藏亏了!
C语言指针详解
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券