C语言学习
lopper
简单做事,简单做人。
展开
-
开始用C语言写点东西了
最近有个同事离职,他的一些C语言的工作交接给我来处理。毕业4年了,基本没有再用C写东西,重新找出大学里的谭浩强版的《C程序设计》。加油!原创 2009-06-10 14:22:00 · 985 阅读 · 0 评论 -
error C2143: syntax error : missing ';' before 'type'
今天在编译一个C文件的时候,VC6.0报的错误。出错的位置是一个函数:void Function(const char *param1,char *param2,int param3){ for(int i=0;i //do somethings...}修改后的代码如下:void Function(const char *param1原创 2011-11-11 20:37:53 · 28624 阅读 · 0 评论 -
VC中EDIT自动换行的设置方法
<br />今天用VC制作一个小工具,发现EDIT框没有设置自动换行的地方。<br />在网上找了一下,方法如下:<br /> <br />Vertical Scrollbar = TRUE<br />MultiLine = TRUE<br />Horizontal Scrollbar = FALSE<br />Auto HScroll = FALSE<br />Want Return = FALSE <br />Auto VScroll = TRUE原创 2011-03-17 13:26:00 · 2056 阅读 · 0 评论 -
error C2018: unknown character '0xa1'
今天在vc 6.0 上调一段网上的代码,出现error C2018: unknown character 0xa1,经过查证是由于非法的空格造成。删除后可以顺利编译。原创 2009-12-28 13:31:00 · 1814 阅读 · 0 评论 -
C语言下的清屏函数
头文件:stdlib.h 函数:system(“cls”);原创 2009-12-23 07:23:00 · 12961 阅读 · 0 评论 -
VC++6.0的好用插件
一、VC助手Visual Assist 二、用于显示行号的插件VC6LineNumberAddin 三、把工程里的文件用Tab方式进行显示,方便操作WndTabs原创 2009-12-19 09:15:00 · 1351 阅读 · 0 评论 -
C语言通过二次指针在函数中传值
今天在使用VC++6.0调试代码过程中发现在代码中创建的sqlList,无法赋值,编译器虽然编译通过,但是Execute时一直提示“Debug Assertion Failed! File: dbgheap.c line: 1044”。在网上找资料后发现是指针指向异常。我的错误代码:void InitList(sqlList *L) { L = (sqlList *)mal原创 2009-12-18 07:37:00 · 2384 阅读 · 0 评论 -
VC++快捷键
F2 书签功能: Ctrl+F2 --在某行设置一个书签(再按一次次是取消)F2 --跳到下一个书签位置Shift+F2 --跳到上一个书签位置Ctrl+Shift+F2 --删除所有书签F3 查找: Ctrl+F3 --在文件中查找,如果当前光标在一个字符串上,那么自动查找此字符串.相似的有Ctrl+FF3 --查找文件中下一个串Shift+F3 --查找文件中上一个原创 2009-12-19 09:20:00 · 885 阅读 · 0 评论 -
warning C4013: 'malloc' undefined; assuming extern returning int
比较低级的错误,malloc函数的库为:stdlib.h.记录一下,备忘.原创 2009-12-18 07:41:00 · 19969 阅读 · 0 评论 -
c语言获取文件长度的方法
#includeint GetFileLen(unsigned char * FileName){ FILE * file; int len = 0; file = fopen(FileName, "r"); fseek(file, 0L, SEEK_END); len = ftell(file); fseek(file, 0L原创 2010-01-27 05:42:00 · 1209 阅读 · 0 评论 -
Linker Error: _funcName defined in module XXX.c is duplicated in module XXX.c
今天在编译一个BC(Borlandc)下的工程,发现工程一直提示一些undefined之类的错误。于是把工程里每个文件都complie一遍,然后make,再link。到link的时候,系统提示“Linker Error: _funcName defined in module XXX.c is duplicated in module XXX.c”网上找资料,发现基本上都是说重复定义,又找原创 2010-01-21 06:29:00 · 7548 阅读 · 6 评论 -
vc6.0模拟tc在控制台定位光标
因为VC下没有tc下的gotoxy,可以用下面的函数代替。#includevoid gotoxy(int x, int y){ GOORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);}原创 2010-01-21 06:11:00 · 1378 阅读 · 0 评论 -
error C2061: syntax error : identifier ‘XXXX’
发生这种情况一般是由于没有include头文件引起。仔细察看代码中的类型或函数名。原创 2010-01-21 01:53:00 · 4090 阅读 · 0 评论 -
warning C4047: 'initializing' : 'char *' differs in levels of indirection from 'const int '
以下来自MSDN编译器警告(等级 1)C4047错误消息 “operator”:“identifier1”与“identifier2”的间接寻址级别不同 指针可指向变量(一级间接寻址),指向另一个指向变量的指针(二级间接寻址)等。示例下面的示例生成 C4047:// C4047.c// compile with: /W1int main() { ch原创 2010-01-18 07:18:00 · 13438 阅读 · 1 评论 -
C语言编译器的错误信息
1."c" not an argument in function sum 该标识符不是函数的参数 2.array bounds missing ] in function main 缺少数组界限符 "]" 3.Array size too large in function main 数组规模太大 4.bad file name format in include directive 在包原创 2010-01-13 05:38:00 · 2570 阅读 · 0 评论 -
关于条件编译#ifdef...#endif
看到一段程序,不知道有什么用:#ifdef _DEBUG //程序段1#else //程序段2#endif不知道是做什么用的,翻出书查了一下,找到关于条件编译一节,里面有说到:可以在头文件里定义#define _DEBUG那么在执行到文章最上面的程序段的时候,就会执行程序段1,如果把头文件里的#define _DEBUG删除,则会执行程序段2。通过对预定义的原创 2009-06-10 14:45:00 · 886 阅读 · 0 评论 -
[C语言项目]防止头文件和全局变量重复定义
昨天下午将全局变量定义在H文件中导致链接时提示变量在多个obj文件内重复。解决办法如下:将变量移入C文件中进行定义,然后在H文件中加入extern在变量之前。这样当其它C文件引用该全局变量时就会去链接这个变量符号而不是重新生成。另附防止H文件被重复包含的处理方法:#ifndef _H文件名_H_#define _H文件名_H_//H文件内容#endif原创 2012-07-26 09:15:55 · 6760 阅读 · 0 评论