关于快读
  • 板块学术版
  • 楼主Digital_Sunrise
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/11/24 13:59
  • 上次更新2023/11/3 23:39:34
查看原帖
关于快读
413301
Digital_Sunrise楼主2021/11/24 13:59

RT,我自己写了一个字符串快读,采用的是char*类型,动态开空间(小写)

void stread(char *&s,int &len)
{
	delete []s;
	len = 0;
	s = new char[5];
	char c = getchar();
	while(c < 'a' or c > 'z')
		c = getchar();
	while(c >= 'a' and c <= 'z')
	{
		s = new char;
		s[++len] = c;
		c = getchar();
	}
//	for(int i = 1;i <= len;i++)
//		cout << s[i];
}

我在快读的读取过程中读取的字符都是正确的,但是统一输出时却会乱码,只有最后一个字符是对的

所以我怀疑读取过程中的newchar出现了问题(有可能是在char*第一位增加了一个char类型的空间)

我并不特别知道指针数组的空间增加逻辑,所以出来问一下

望解答

2021/11/24 13:59
加载中...