
Linux
qq_45700917
这个作者很懒,什么都没留下…
展开
-
does not name a type报错的改正方式
does not name a type报错的改正方式原代码如下:报错:does not name a type原因:不知道改正方法:把初始化放主函数外面,赋值放主函数里面。改正后代码如下:编译就通过了,且能运行成功。收工回家!!!!!!!...原创 2021-05-30 22:46:48 · 39055 阅读 · 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 · 649 阅读 · 0 评论 -
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 · 16167 阅读 · 1 评论 -
linux 下C语言:在命令行传参数
linux 下C语言:在命令行传参数最近因为要实现代码灵活处理数据,想每次运行处理不同的数据,即每次运行之前都要传不同的参数进去。这我就纳闷了:程序写在.c文件里面,退出来在命令行输入命令运行,怎么能实现传递参数呢?问了师兄,才知道,在Linux下命令行是可以直接传递参数的。传递参数得有个接口吧,接口在哪呢?就在main()函数!其实呢,main()函数的默认写法是这样的:int main(int arc,char *argv[]){ ……}也就是说,它是有参数可以传进去的,这就是留给命令原创 2020-12-11 16:37:39 · 4525 阅读 · 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 · 385 阅读 · 0 评论 -
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 · 744 阅读 · 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 · 464 阅读 · 0 评论 -
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 · 1006 阅读 · 0 评论 -
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 · 16189 阅读 · 3 评论 -
strtok()函数用法及注意事项详解
strtok()函数用法及注意事项详解遇到了分隔字符串并输出的问题,看了这个博文,很有收获,大佬博文链接如下:https://blog.youkuaiyun.com/sxy19930313/article/details/78548174转载 2020-11-30 22:02:31 · 191 阅读 · 0 评论 -
C语言结构体对齐
结构体对齐今天又解码一个二进制文件,又遇到了问题,事情是这样的:读取一个字段,我用一个结构体来接收这些数,然后逐个处理,但结果却不对。我用二进制读取软件读取这个文件,与处理出来的结果对比发现:处理出来的数据竟然跳过一个4字节,也就是说,我处理出来的数据里面没有原始二进制文件中的对应的那4个字节。师兄又来了,print一下结构体的大小,发现是40个字节,而我取的是36字节。多出来的4字节是哪里来的呢,这个时候师兄突然想到了结构体对齐这个东西。先上一段我自己的代码:struct C_TABLE{ u原创 2020-11-19 19:09:34 · 208 阅读 · 0 评论 -
bitset的用法:输出二进制的数据
bitset的用法:输出二进制的数据又是今天,我又在解码一个二进制文件,又遇到了问题:我处理出来输出的数据和预想的不一样。师兄教我用bitset,可以输出这个二进制数据,通过比对就知道自己处理的是不是这段数据了。代码: bitset<64> a(re_item15_19); cout << "item15_19=" << a << endl;当然bitset是需要加头文件的: #include<typeinfo>具体原创 2020-11-19 17:05:30 · 584 阅读 · 0 评论 -
typeid().name()可以输出数据类型
typeid.name查看数据类型今天解码一个二进制文件,其中有一个字段长12个字节,这12个字节的数据总共包含了十几个数(按不同的位来分的,有的3位,有的7位……加起来96位),有几个数据是拼接在一起的,长度为8个字节。我就想当然用两个int型去拼成一个long long型的数据,之后再对它进行处理。但是不知道为啥出错了,出来的数据并不是预想的那样。师兄知道我代码有问题,啪的一声就起来了,很快啊,就坐到我的位置上了。我大意了啊,没有闪,上来就加入了typeid的头文件——#include,然后一个pr原创 2020-11-19 16:56:59 · 975 阅读 · 0 评论 -
警告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 · 7195 阅读 · 0 评论