我目前正在为MC68HC11编写“伪程序集编译器”,这并不复杂。 我遇到的问题是从文件读取并存储到数组后。

例如,我有“ LDAA#$ 45”行,我首先将“ LDAA”保存到字符串数组中,将“#$ 45”保存到第二个字符串数组中。 我按原样使用第一个数组,但是对于第二个数组,我只需要知道该数组中的第一个字母或符号是什么,就可以知道如果我需要结束的if语句。

进入LDAA的代码如下:

if(code[i]=="LDAA"){ //code is my array for the first word read.
  if(number[i]=="#"){ //Here's where I would only need to read the first symbol stored in the array.
    opcode[i]="86";
  }
}

我用于从文件读取的代码类似于将文件读取到数组中找到的代码

我不确定这是否完全可能,因为我无法在网上找到类似的东西。

===============>>#1 票数:1

根据number类型,您需要:

if(number[i]=='#'){ 

要么

if( number[i][0]=='#'){ 

另外,还有std::stringchar*类型的code[i]opcode[i] [希望是前者。]

===============>>#2 票数:0 已采纳

您已经标记了此C ++,所以我假设您的数组包含std::string ,在这种情况下:

#include <string>
#include <iostream>

int main()
{
    std::string foo = "#$45";
    std::string firstLetter = foo.substr(0, 1);
    std::cout << firstLetter;
    return 0;
}

产生输出:

那是您要找的东西吗? 适用于您的代码:

if(code[i]=="LDAA"){
  if(number[i].substr(0, 1)=="#"){
    opcode[i]="86";
  }
}

  ask by TuturuJones translate from so

未解决问题?本站智能推荐: