摘要: c_str c_str函数的返回值是const char*的,不能直接赋值给char*,所以就需要我们进行相应的操作转化,下面就是这一转化过程。 c++语言提供了两种字符串实现,其中较原始的一种只是字符串的c语言实现。与C语言的其他部分一样,它在c++的所有实现中可用,我们将这种实现提供的字符串对象,归为c-串,每个c-串char*类型的。 标准头文件<cstring>包含操作c-串的函数库。这些库函数表达了我们希望使用的几乎每种字符串操作。 当调用库函数,客户程序提供的是string类型参数,而库函数内部实现用的是c-串,因此需要将string对象,转化为char*对象,而c_s 阅读全文
posted @ 2012-10-14 10:47 MFT 阅读(635) 评论(0) 推荐(0) 编辑
摘要: int scanf(const char *format,...)是scanf的原型,如果scanf操作成功应该返回非负数,否则返回EOF,现在在while(scanf("%d %d",&x, &y) != EOF)的循环里用Ctrl+Z可以退出循环,但是用一些字母就死循环了,我想问一下为什么会这样?返回参数失败scanf不是要返回EOF吗?还用GCC运行程序时发现在程序的末尾加system("PAUSE");程序通不过,而在C99里,要在后面加system("PAUSE");才能让窗口停止下来。想主要还有其他区别。是 阅读全文
posted @ 2012-05-24 22:27 MFT 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 分类:算法2011-12-27 01:06567人阅读评论(0)收藏举报一、幻方按照阶数可分成了三类,即奇数阶幻方、双偶阶幻方、单偶阶幻方。二、奇数阶幻方(劳伯法)奇数阶幻方最经典的填法是罗伯法。填写的方法是:把1(或最小的数)放在第一行正中;按以下规律排列剩下的(n×n-1)个数:(1)每一个数放在前一个数的右上一格;(2)如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列;(3)如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行;(4)如果这个数所要放的格已经超出了顶行且超出了最右列,那么就把它放在底行且最左列;(5)如果这个数所要放的 阅读全文
posted @ 2012-05-11 22:29 MFT 阅读(9421) 评论(0) 推荐(1) 编辑
摘要: 第一题:假设有两种微生物 X 和 YX出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。如果X=10,Y=90 呢?本题的要求就是写出这两种初始条件下,60分钟后Y的数目。题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只 Y 就是最终导致 Y 种群灭绝的最后一根稻草!首先从题目描述上可以猜测第一种情况的答案很可能是0。虽然只需要写答案,还是需要写代码来计算一下。华哥他们说时间要半分钟 阅读全文
posted @ 2012-05-11 21:02 MFT 阅读(551) 评论(0) 推荐(0) 编辑
摘要: gcvt(将浮点型数转换为字符串,取四舍五入)char*gcvt(doublenumber,size_tndigits,char*buf);gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。该函数返回一字符串指针,此地址即为buf指针。#include <stdio.h>#include <stdlib.h>void main(){double a = 123.45 阅读全文
posted @ 2012-05-11 19:47 MFT 阅读(1274) 评论(0) 推荐(1) 编辑
摘要: #include<stdio.h> #include <stdlib.h>int main (){int num = 123456;char str[50];sprintf(str, "%d" , num);printf ("The number 'num' is %d and the string 'str' is %s. \n" , num, str);getchar();return 0;} 阅读全文
posted @ 2012-05-11 19:39 MFT 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 如果结构变量是全局变量或为静态变量, 则可对它作初始化赋值。对局部或自动结构变量不能作初始化赋值。 阅读全文
posted @ 2012-05-06 22:17 MFT 阅读(208) 评论(0) 推荐(0) 编辑
摘要: //Floyd算法——C++描述#include "string"#include <iostream>using namespace std;struct MGraph{int arc[10][10]; string vertex[10];int vertexNum;};void Floyd(MGraph G,string path[][100],int dist[][10]){int i,j ,k; for (i=0; i<G.vertexNum; i++) for (j=0; j<G.vertexNum; j++) { dist[i][j]=G 阅读全文
posted @ 2012-05-06 22:12 MFT 阅读(187) 评论(0) 推荐(0) 编辑
摘要: .:.:第十章: 文件:.:.第十章:文件文件文件的基本概念 所谓“文件”是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外部介质(如磁盘等)上的, 在使用时才调入内存中来。从不同的角度可对文件作不同的分类。从用户的角度看,文件可分为普通文件和设备文件两种。 普通文件是指驻留在磁盘或其它外部介质上的一个有序数据集,可以是源文件、目标文件、可执行程序; 也可以是一组待输入处理的原始数据,或者是一组输出的结果。对于源文件、目标文件、 可执行程序可以称作程... 阅读全文
posted @ 2012-05-05 14:58 MFT 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://blogold.chinaunix.net/u3/99862/showart_2069574.html写在前昨天带实验的时候发现很多同学在读文件的时候老是要么多了一个字符,要么不能完全读取……以前在用C的时候对文件操作自己也会遇到一些问题,但是都没有去深究,昨晚突然心血来潮,决定把他弄清楚。 测试环境windowsc-free3.0C文件操作遇到的状况1.将一个文件读到另一个文件,用“(ch = getc(fp)) != EOF”来判断文件是否结束,如果文件是全英文文本的话绝对没问题,新文件的大小和原文件大小一样;但是如果是一些有中文字符或者是二进制文件,原文件没读完就结 阅读全文
posted @ 2012-05-05 14:58 MFT 阅读(337) 评论(0) 推荐(0) 编辑