编程两个小问题,C语言中如何读取一行字符串的问题和VS2008中调试出错一个问题
2011-09-16 21:48
519 查看
问题一:
经常在链接是报link2001错误,其中一般是函数体没有定义错误。但是排除以上简单的外,还有一种如下无法解析系统文件中的函数定义。如下:
LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
libcpmtd.lib(cerr.obj) : error LNK2001: 无法解析的外部符号 __CrtDbgReportW
libcpmtd.lib(stdthrow.obj) : error LNK2001: 无法解析的外部符号 __CrtDbgReportW
。。。。。。
libcpmtd.lib(_tolower.obj) : error LNK2019: 无法解析的外部符号 __calloc_dbg,该符号在函数 __Getctype 中被引用
像这种情况,可以推测运用了错误的运行库包。
在一程序中使用不同类型的运行时库或使用调试和非调试版本的运行时库,则将收到此链接错误。
例如,编译一个文件以使用一种运行时库,而编译另一个文件以使用另一种运行时库(例如单线程运行时库对多线程运行时库),试图链接它们,则将得到此警告。应将所有源文件编译为使用同一运行时库。
其实就是调正编译器选项参数:/MD、/MT 和 /LD
在vc9中,在“配置属性-->C/C++-->代码生成-->运行时库”中将“多线程(/MT)”统一改为“多线程调试(/MTd)”即可。
问题二 :
读取一行字符的函数
C语言中的fgets(),其中fgets读取的字符串中会有转行符。如果有需要,在字符串数组中要把这个转行符去掉。str[lstrlenA(str) -1] = 0x00; 即可!!!
C++中类ifstream的子函数getline(),不过这个不好用,没有fgets好用,而且有特殊字符时候getline()会自动退出.
windows自带的CreateFile和ReadFile两个API是没有读取一行数据的功能的,要自己对字符串进行分析.
写文件的时候fputs和fwrite是不会写一行的,只会照原字符串输出到文件中,如果有必要,我们要自己在字符串的末尾自己添加一个转行符。
经常在链接是报link2001错误,其中一般是函数体没有定义错误。但是排除以上简单的外,还有一种如下无法解析系统文件中的函数定义。如下:
LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
libcpmtd.lib(cerr.obj) : error LNK2001: 无法解析的外部符号 __CrtDbgReportW
libcpmtd.lib(stdthrow.obj) : error LNK2001: 无法解析的外部符号 __CrtDbgReportW
。。。。。。
libcpmtd.lib(_tolower.obj) : error LNK2019: 无法解析的外部符号 __calloc_dbg,该符号在函数 __Getctype 中被引用
像这种情况,可以推测运用了错误的运行库包。
在一程序中使用不同类型的运行时库或使用调试和非调试版本的运行时库,则将收到此链接错误。
例如,编译一个文件以使用一种运行时库,而编译另一个文件以使用另一种运行时库(例如单线程运行时库对多线程运行时库),试图链接它们,则将得到此警告。应将所有源文件编译为使用同一运行时库。
其实就是调正编译器选项参数:/MD、/MT 和 /LD
在vc9中,在“配置属性-->C/C++-->代码生成-->运行时库”中将“多线程(/MT)”统一改为“多线程调试(/MTd)”即可。
问题二 :
读取一行字符的函数
C语言中的fgets(),其中fgets读取的字符串中会有转行符。如果有需要,在字符串数组中要把这个转行符去掉。str[lstrlenA(str) -1] = 0x00; 即可!!!
C++中类ifstream的子函数getline(),不过这个不好用,没有fgets好用,而且有特殊字符时候getline()会自动退出.
windows自带的CreateFile和ReadFile两个API是没有读取一行数据的功能的,要自己对字符串进行分析.
写文件的时候fputs和fwrite是不会写一行的,只会照原字符串输出到文件中,如果有必要,我们要自己在字符串的末尾自己添加一个转行符。
相关文章推荐
- 有关RelativeLayout布局中, 当一个控件被左右两个控件夹在中间时, 此控件如何靠近两个控件中的一个的问题?
- ElasticSearch42:初识搜索引擎_揭秘如何将一个field索引两次来解决字符串排序问题
- c语言编程中如何判断一个数是否为整数
- VS2013 调试时读取字符串的字符时出错
- C语言编程中碰到一个问题,求大神指教
- 解决如何让两个div在一行上的问题
- linux面试c语言编程----------把一个字符串倒序,如“abcd”倒序后变为“dcba”
- 一个通用XML字符串的读取小问题
- C语言从stdin读取一行字符串的几种方法
- C语言编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。
- C语言从stdin读取一行字符串的几种方法
- python读取CSV文件以及“写入CSV致文件每一行后面会多一个空行”问题解决
- Problem Description 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。 Input 输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义
- c语言 char*类型作为中间变量将许多字符串保存到一个数组的问题
- 两个数据库读取问题(十分简单可总是出错)
- EWS编程问题二:如何利用EWS读取Exchange里面相应用户的未读邮件数量(解决)
- 将两个递增的有序链表合并为一个递增的有序链表(C语言编程实现)
- C语言如何在两个文件中访问同一个全局变量
- C语言- 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次,找出这两个数字,编程实现。
- elasticsearch核心知识--41.如何将一个string field索引两次来解决字符串排序问题