c++读入两个字符串,再把他们连接起来,,生成一个新字符(不用strcat函数)串并将其内容存入文件string.h

2025-05-22 04:03:24
推荐回答(3个)
回答1:

这是一个简单的实例,实际的词法分析器状态转换图也不太复杂。 
状态转换图易于编程实现。图中每一个状态对应一段程序,遇到分支可使用if语句实现,如果分支较多,可采用case语句,遇到回路可采用while语句。在编写状态转换图对应程序时,将会用到下面的变量和函数。 
1、 Character 
全局字符变量,用来存放最新读入的字符。 
2、 Token 
字符数组,用来存放已读入的字符序列。 
3、 Getchar 
读入一个字符的函数,从输入字符串中读入一个字符到character中。 
4、 Getnbc 
读入非空白字符的函数,检查变量character中的字符是否为空白字符,若是,则调用getchar读入下一个字符,直到character中的字符是非空白字符为止。 
5、 Concat 
连接字符串的函数,把character中的字符连接到token数组的末尾。例如,token的值为”abc”,character的值为’d’,调用concat函数后,token的值为abcd。 
6、 Letter 
判断字母的函数,若character中的字符是字母,返回true值,否则返回false值。 
7、 Digit 
判断数字的函数,若character中的字符是数字,返回true值,否则返回false值。 
8、 Retract 
回退字符的函数,将刚读入的character中的字符回退到输入字符串中,并把character的值置为空白。 
9、 Reserve 
处理保留字的函数,对存放在token中的字符串查表六字表,若查到,则表示该字符串是一个保留字,则返回该保留字的类型编码,否则返回0. 
10、symbol 处理标识符的函数。对token中的字符串查保留字表,若查到,则返回它在符号表中的位置编号, 
11、constant 
常数存入常数表的函数,将token中的数字串转换成标准的二进制值,存入常数表中,返回它在表中的位置编号。 
12、return 
返回二元式的函数,其中,num为单词符号的类型编码,val是token中的字符串在符号表中的位置编号,或者是它在常数表中的位置编号,或者无定义。 
13、error 
出错处理的函数,处理出现的词法错误。有一类词法错误可以在词法分析时发现,如出现字母表以外的非法字符、不合规则的常数、标识符的前缀为保留字等。但还有一类词法错误,例如,把if写成fi,词法分析会将fi当作标识符处理,le ngth中间多了一个空格,词法分析会将le和ngth当作两个标识符处理。这类词法错误往往要推迟到语法分析时才能发现,不属于函数处理的范畴。

回答2:

#include 
using namespace std;
string a,b;

int main() {
  cin >>a >>b;
  freopen("string.h","w",stdout);
  cout <}

回答3:

写过了