十万分火急,在线等,要快呀,谢谢了
问题1:Void(*f)((int)(*g)((char*)(*h)(void)))叙述成序编码的功能是什么?
问题2:将abc.txt文件中的所有this改成these,并存入cba.txt中,这段代码怎么写?
谢谢了,请给出答案
问题点数:50、回复次数:7Top
1 楼darkstar21cn(≮天残≯无畏)(死亡进行时)回复于 2005-07-23 10:29:23 得分 10
1,一个没有返回的(或者说返回void)函数指针f,它要求的参数是一个返回int的函数指针,其参数又是一个函数指针,返回char*,参数是void(晕,说习惯了,也是没有参数)
Top
2 楼fathappy(我是猫)回复于 2005-07-23 10:51:05 得分 10
1. f是无返回类型的函数指针
它指向一个返回值为int型 参数是函数指针(char *(*h)(void))的 函数
char *(*h)(void) 也是个函数指针,它指向一个返回值是char*类型 空参数的函数
2.按行读,用STRSTR()函数判断
如果存在this,就用THESE替换.
不会用STLTop
3 楼chunhai12(小海)回复于 2005-07-23 14:19:12 得分 10
2.
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main()
{
const string s1("this");
const string s2("these");
ifstream in("abc.txt");
ofstream out("cba.txt");
string line;
string::size_type pos;
while(getline(in, line))
{
while((pos = line.find(s1)) != string::npos)
line.replace(pos, s1.size(), s2);
out << line << '\n';
}
return 0;
}Top
4 楼pdaliu(刘星)回复于 2005-07-23 15:41:36 得分 0
这么长的函数能用上吗?Top
5 楼KDE(黎明)回复于 2005-07-25 17:49:02 得分 10
看好:
Void(*f)((int)(*g)((char*)(*h)(void)))
就是!!!!!!!!!!!!!!!!:
typedef char * (*h)(); //一个函数指针
typedef int * (*g)(h Param) ;//将上面函数指针(h)作为参数的一个函数指针
typedef void * (*f)(g Param;//将上面函数指针(g)作为参数的一个函数指针Top
6 楼KDE(黎明)回复于 2005-07-25 18:52:36 得分 0
问题2:
同意 chunhai12(送外卖的-外卖小子)Top
7 楼crystal521(【云淡风轻】)回复于 2005-07-26 12:40:13 得分 10
问题1:一串函数指正为参数的函数Top




