帮同学处理一个文本,好多函数不会,我想如果是熟工的话,1个小时之内就能搞定
读取一行:
FILE *fin = ....;
char buf[BUFSIZE];
fgets( buf, BUFSIZE, fin );
确定一个字符在字符串中出现的位置(第一次):
int find;
char* position;
position = strchr(str, find);
确定一些字符在字符串中出现的位置(第一次):
char* find;
int nlen;
nlen = strcspn(str, find);
以上这些可以用于提取一行中的某个模式:
FILE *fin = ....;
char buf[BUFSIZE];
fgets( buf, BUFSIZE, fin ); //读入一行
int findc = '/"';
buf = strchr(buf, findc); //使buf指针移动到第一个引号的位置
char* finds = "/"";
int nlen;
nlen = strcspn(buf+1, delflds); //得到两个引号中的字符串的长度
string pattern = string(buf+1, nlen); //形成string
另外还学习了STL的遍历:
map<int, Node> theMap;
theMap.insert( make_pair(nid, node) ); //构造theMap
map<int, Node>::iterator theIterator;
for( theIterator = theMap.begin(); theIterator != theMap.end(); theIterator++ ) { //遍历
int nid = theIterator->first;
Node node = theIterator->second;
}