当前位置 : 主页 > 网页制作 > html >

hdu 1736

来源:互联网 收集:自由互联 发布时间:2021-06-12
参考:https://www.cnblogs.com/inmoonlight/p/5512878.html 要点 理解汉字的输入和输出方式:在GBK编码的情况下,一个汉字占据两个字节,在输出的时候, 例:char str[] 中储存了“中”一个字,输出

参考:https://www.cnblogs.com/inmoonlight/p/5512878.html

要点

  1. 理解汉字的输入和输出方式:在GBK编码的情况下,一个汉字占据两个字节,在输出的时候,
    例:char str[] 中储存了“中”一个字,输出的时候cout<<str[0]<<endl;和cout << str[1] << endl;不会在控制台上输出字符。cout << str[0] << str[1] << endl;会输出一个“中”字。
    string中保存:
    st = “”;
    st = st + s[0] + s[1];
    //直接st = s[i] + s[i+1];不行 (为什么?
  2. 需要处理的有成对的汉字符号:“ ”,而且可能前一个是全角,后一个是半角;
    需要处理的字符可能是两个英文字符合并成单个中文字符:<< 《;
    以上两点需要用一个两位的字符串来判断,第一点还需要计数器辅助判断输出“还是”。
  3. 并不需要真正在字符数组中替换掉,只需要检测出有需要替换的字符,将其替换成需要的字符输出即可。
  4. gets()函数获取所有缓冲区域的内容,遇到换行符或者到文章末尾结束(getline()函数功能类似?参考https://blog.csdn.net/qq_42128241/article/details/81772875无法理解问题中所说的一段文字可以包含换行符,是换行符并不代表一段文字结束吗?这样的话gets()不就无法获取换行符之后的字符了吗?
?
网友评论