文本文件读写,存在问题:
无法读文件 iftream ,从文件读出一行,然后换行,如果字符串有空格在中间,就会出现问题,比如“let's start coding the world”,就只能读出let's (遇到空格就没办法了)
hello world 中间的是空格而不是\0空格和字符是一样的ASCII里的空格是32http://blog.youkuaiyun.com/ouczoe/article/details/4923439(读一行主要参考文献)
还有用getline似乎也是这样:
string 中用 getline() 先读一行,似乎也只能这样,c++自动完成,char str[100]; ifstream ifile; ifile.open("/***********/"); ifile.getline(str,100); cout<<str<<endl;
#include<stdio.h> void main() { char a[100]; int i=0; gets(a); while(a[i]!='\0'); { a[i]= ; i++; } printf("%d",i+1); } 有个错误是D:\C++程序\英文单词.cpp(9) : error C2059: syntax error : ';'
输入的空格实际为一个ASC字符,若编程时直接输空格,编译程序会直接无视的。可以转化字符嘛。a[i]=chr(32).
曾经看到一个输入输出代码是这样的:cin>>a[i];cout<<endl;
endl还有一个更重要的意思,就是清空流缓存,把缓存的内容全部传递到设备中。如果你学过C语言的标准输入输出你就会知道。C语言的标准输入输出有两种:有缓存的和无缓存的。举个例子,getc这个函数,就是有缓存的,他有一个静态变量,属于这个函数,保存所有数据,当数据中出现\n的时候,才把数据逐个字符返回到参数中。无缓存的就是读到一个字符就返回一次。C++虽然没有这些接口,但是在底层的实现上,使用的系统调用,是一样的。所以有时候,如果你不用endl,就不会得到结果///
int* modifier = const_cast<int*>(&constant);
/
auto i1 = Container.begin(); // i1 is Container<T>::iterator auto i2 = Container.cbegin(); // i2 is Container<T>::const_iterator 1.iterator,const_iterator作用:遍历容器内的元素,并访问这些元素的值。iterator可以改元素值,但const_iterator不可改。跟C的指针有点像 2.const_iterator 对象可以用于const vector 或非 const vector,它自身的值可以改(可以指向其他元素),但不能改写其指向的元素值.//
map使用基本介绍:
map以及类似指针iterator:http://blog.youkuaiyun.com/xiaoxiaoniaoer1/article/details/7929795
//
list使用样例http://bbs.youkuaiyun.com/topics/300179759