问题:
解答:
#include <iostream>
using namespace std;struct chaff
{char dross[20];int slag;
};int set_chaff(chaff& f, char* c, int n)
{if (strlen(c) > 0){strcpy_s(f.dross, c);f.slag = n;return 1;}return 0;}void show_cahff(const chaff& f)
{cout << "dross: " << f.dross << endl;cout << "slag: " << f.slag << endl;
}int main()
{char buffer[1024];//缓冲区char st[20];int slag, n = 0;chaff* pcf = new (buffer)chaff[2];//在缓冲区中构造cout << "请输入dross: ";cin.getline(st, 20);cout << "请输入slag: ";cin >> slag;while (strlen(st)>0){cin.get();set_chaff(pcf[n++], st, slag);if (n >= 2)break;cout << "请输入dross: ";cin.getline(st, 20);cout << "请输入slag: ";cin >> slag;}for (int i = 0; i < 2; i++){show_cahff(pcf[i]);}return 0;
}
运行结果:
考查点:
- 缓冲区
注意:
- 静态缓冲区分配好,就不需要delete了
- 动态缓冲区(内存),就需要使用delete
- 缓冲区的使用
- 区别
2024年9月2日20:20:52