- 博客(24)
- 收藏
- 关注
原创 C++输入以空格分割的字符串
C++输入以空格分割的字符串昨天vivo提前批笔试,败在了输入输出处理上面,真是给自己菜吐了。题目要求处理的输入是:一个未知长度的数组以字符串的形式展示,并且每两个数中间以空格分割。给个例子:123 234 234 56 56 76554注意,这是个字符串。处理的代码如下:#include <iostream>#include <string>#include <vector>using namespace std;int main() {
2021-06-18 11:47:58 4143
原创 does not name a type报错的改正方式
does not name a type报错的改正方式原代码如下:报错:does not name a type原因:不知道改正方法:把初始化放主函数外面,赋值放主函数里面。改正后代码如下:编译就通过了,且能运行成功。收工回家!!!!!!!...
2021-05-30 22:46:48 37983 2
原创 文件指针错误error: initializer element is not constant
文件指针错误error: initializer element is not constant今天写代码的时候碰到了这个问题,上网查了好久才解决,忘了在哪看的了,但是解决途径总结了下来。代码是这样的: #include <stdio.h> #include <stdlib.h> FILE * outputA = fopen("/home/a.txt", "rb"); FILE * outputB; FILE * input; int main() {
2021-03-20 22:24:39 615
转载 vector可以索引访问但不能索引赋值
vector可以索引访问但不能索引赋值vector<int> s1; for(i=0;i<10;i++) { s1[i] = i; //严重错误,s1中不包含任何元素。 }转载的原文链接:https://blog.csdn.net/lyj156/article/details/79480143
2021-01-13 17:26:39 623
转载 2021-01-09
彻底弄懂typedef struct和struct定义结构体的区别转载的,原文如下:版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/qq_41139830/article/details/88638816...
2021-01-09 15:13:47 83
转载 C++中mutable的使用
C++中mutable的使用mutable的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些跟类状态无关的数据成员,那么这个数据成员就应该被mutalbe来修饰。下面是一个小例子:c
2020-12-25 20:57:36 206
原创 C语言将一个数转换成小数,输出结果为零
将一个数转换成小数,输出结果为零今天在处理数据的时候,有一个需求:将一个整数,比如77000,单位纳秒(10^-9秒)换算成秒,然后保留10位小数。代码:printf( "%d", (unsigned int(item2 & 0x003fffff)/1000000000));输出:很明显就是错了,为啥全部都是零呢?因为在转换成unsigned int 的时候,忽略了小数部分,就像:int a = 10 / 3;printf("%d",a);输出的结果是3,而没有小数,同样的
2020-12-18 21:41:18 4890 1
转载 C语言保留两位小数
不用库函数也能保留两位小数https://blog.csdn.net/qq_35040828/article/details/78377936?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBai
2020-12-17 20:47:42 8476 2
原创 C语言将秒数转换成时分秒的形式
C语言将秒数转换成时分秒的形式比较简单,直接上代码: 1 #include <stdio.h> 2 3 int main(int arc,char *argv[]) 4 { 5 printf("%s\n",argv[1]); 6 int n = atoi(argv[1]);//字符串转整型 7 printf("%d\n",n); 8 int hour = 0; 9 int minute = 0; 10 int
2020-12-11 16:41:10 15983 1
原创 linux 下C语言:在命令行传参数
linux 下C语言:在命令行传参数最近因为要实现代码灵活处理数据,想每次运行处理不同的数据,即每次运行之前都要传不同的参数进去。这我就纳闷了:程序写在.c文件里面,退出来在命令行输入命令运行,怎么能实现传递参数呢?问了师兄,才知道,在Linux下命令行是可以直接传递参数的。传递参数得有个接口吧,接口在哪呢?就在main()函数!其实呢,main()函数的默认写法是这样的:int main(int arc,char *argv[]){ ……}也就是说,它是有参数可以传进去的,这就是留给命令
2020-12-11 16:37:39 4347 1
原创 sh: 1: pause: Permission denied,可能是文件打开问题
sh: 1: pause: Permission denied,可能是文件打开问题程序如下,运行报错 output = fopen("/home/1.ODF","rb"); input = fopen("/home/1.txt", "w"); if(output==NULL) { printf("文件开始写入"); } if (input == NULL) { printf("无法打开文件"); return -1;
2020-12-10 10:40:49 360
原创 Linux C语言error: initializer element is not constant
Linux C语言error: initializer element is not constant初始化文件指针如下,编译报错 FILE* input = fopen("/home/h/OD/OD_file/1.txt","rb"); FILE* output = fopen("/home/h/OD_decoding_code/205.txt", "w");error: initializer element is not constant解决方法:将初始化放在全局,赋值放在main函数里面
2020-12-09 19:48:33 698 1
原创 Linux下数据类型强转
Linux下数据类型强转代码是在windows下写好的,放到Linux上来运行,结果出现了一些问题:比如:(long long(change_int(c3_table.item15_19[0])) << 32)会报错:error: expected ‘)’ before ‘change_int’Linux系统下强转数据类型要求比较严格,需要将long long左右都用括号括起来。...
2020-12-09 16:39:42 431
原创 Linux下C语言关于struct报错:nuknown type name
Linux下C语言关于struct报错:nuknown type namestruct ODF3C_TABLE { unsigned int time_tag; int item2_3; int item4; int item5; unsigned int item6_14; int item15_19[2]; int item20_22[2]; }c3_table;void write3C(ODF3C_TA
2020-12-09 16:30:16 934
原创 gcc:error:No such file or directory
gcc:error:No such file or directory今天在Windows上写好了代码,复制到Linux上进行测试。步骤如下:第一步:vim a.c //新建一个C语言的程序,复制到里面第二步:gcc -o a.c a //编译刚才的代码,报错:“No such file or directory"第三步:懵逼。。。。。。上网查了好多,其中有说没有下载32位的什么的,按照这个方法却不行,因为下载的命令需要用到sudo,而很遗憾我是远程连接人家的服务器,不在sudoer之内,所
2020-12-09 11:14:19 15945 3
转载 strtok()函数用法及注意事项详解
strtok()函数用法及注意事项详解遇到了分隔字符串并输出的问题,看了这个博文,很有收获,大佬博文链接如下:https://blog.csdn.net/sxy19930313/article/details/78548174
2020-11-30 22:02:31 176
原创 两个整型(负数的情况)合并成一个小数
两个整型(负数的情况)合并成一个小数上一篇挖了一个坑,说当两个负数合并成一个小数的时候需要注意,现在来填坑。如果按照上一篇的代码,合并两个负的整型代码: char observable[25]; double b; sprintf(observable, "%d.%d", item1,item2); sscanf(observable, "%lf", &b);结果:也就是说,负数部分全部是0;为什么呢,因为负数有一个负号啊,得先把负号去掉才行。代码(注意,在item2前面
2020-11-23 20:36:52 359
原创 C语言将两个数合并成一个小数
C语言将两个数(int、unsigned int)合并成一个小数(double、float)今天碰到一个问题:需要将两个无符号整型合并成一个小数输出。输出的数的数据类型需要根据前面两个无符号整型合并起来的数据大小确定,如果float足够那就float,不够就double。思路:1、先将两个数组成一个字符串2、将字符串转换成float型3、输出这个数代码: char observable[25]; double b; sprintf(observable, "%d.%d",item1,i
2020-11-23 20:10:57 3560
原创 C语言结构体对齐
结构体对齐今天又解码一个二进制文件,又遇到了问题,事情是这样的:读取一个字段,我用一个结构体来接收这些数,然后逐个处理,但结果却不对。我用二进制读取软件读取这个文件,与处理出来的结果对比发现:处理出来的数据竟然跳过一个4字节,也就是说,我处理出来的数据里面没有原始二进制文件中的对应的那4个字节。师兄又来了,print一下结构体的大小,发现是40个字节,而我取的是36字节。多出来的4字节是哪里来的呢,这个时候师兄突然想到了结构体对齐这个东西。先上一段我自己的代码:struct C_TABLE{ u
2020-11-19 19:09:34 196
原创 bitset的用法:输出二进制的数据
bitset的用法:输出二进制的数据又是今天,我又在解码一个二进制文件,又遇到了问题:我处理出来输出的数据和预想的不一样。师兄教我用bitset,可以输出这个二进制数据,通过比对就知道自己处理的是不是这段数据了。代码: bitset<64> a(re_item15_19); cout << "item15_19=" << a << endl;当然bitset是需要加头文件的: #include<typeinfo>具体
2020-11-19 17:05:30 557
原创 typeid().name()可以输出数据类型
typeid.name查看数据类型今天解码一个二进制文件,其中有一个字段长12个字节,这12个字节的数据总共包含了十几个数(按不同的位来分的,有的3位,有的7位……加起来96位),有几个数据是拼接在一起的,长度为8个字节。我就想当然用两个int型去拼成一个long long型的数据,之后再对它进行处理。但是不知道为啥出错了,出来的数据并不是预想的那样。师兄知道我代码有问题,啪的一声就起来了,很快啊,就坐到我的位置上了。我大意了啊,没有闪,上来就加入了typeid的头文件——#include,然后一个pr
2020-11-19 16:56:59 941
原创 警告makes pointer without a cast 、return makes pointer from integer wiyhout a cast 和control reaches en
警告makes pointer without a cast 、return makes pointer from integer wiyhout a cast 和control reaches end of non-void function怎么修改炒菜葱姜蒜先下锅,学习之前先讲个冷笑话:往年十一和中秋都是分开过的,而今年十一和中秋在同一天过了。按理说十一7天假,中秋3天假。7+3=10,但是今年只有8天假。一天内节日的数量增加了,但是假期天数没有增加。这是为什么呢?(预知原因如何,且听文末分解,
2020-10-14 19:43:53 6880
原创 if判断的时候,程序不报错,但输出结果不对
if判断的时候,程序不报错,但输出结果不对其中的一个可能的原因是:判断语句中少加了等号如:if (a= b),这样不报错,但结果不对。应该是if(ab)。赋值(=),等于()。...
2020-04-09 17:21:12 2115
原创 system报错
C++学习过程中细节点积累:1、system(“pause”);如果system下面有红色波浪线报错,有可能的一种出错方式是:在这之前有中英文不一致的现象出现。比如,我的出错方式就是左半个括号用中文打的,而右半个事用英文打的。欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解...
2020-04-07 19:31:09 2127
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人