C++:如何检查字符是否在给定范围的字符之间?
说,如果我有一个字符串名称.我想检查这个字符串的第一个字符是否在'a'到'n'之间.
我该怎么做?
要做(名称[0] =='a')(名称[0] =='b')...太长了...
如果可能的话,我想要一个优雅地处理ASCII值的解决方案.
#include <iostream>
#include <string>
#include <cstring>
#include <vector>
using namespace std;
struct node {
int number;
string name;
node* next;
};
int hash(string dna) {
int i, sum=0;
for (i=0; i<dna.size(); i++) {
if (dna[i]=='A') {
}
else if (dna[i]=='C') {
sum+=1;
}
else if (dna[i]=='G') {
sum+=2;
}
else {
sum+=3;
}
}
cout << "Hash sum is " << sum << endl;
return sum;
}
int main() {
//input
int dnalength, sublength;
cin >> dnalength >> sublength;
string …Run Code Online (Sandbox Code Playgroud) vector <int> *a;
a->push_back(10);
*a[0] = (*a[0])%5;
Run Code Online (Sandbox Code Playgroud)
但这给了我一个错误.在最后一行.为什么?我做对了吗?
我取消引用a,然后访问item [0],模数.
Error: no match for 'operator*' in '** a'
Run Code Online (Sandbox Code Playgroud)