将字符与西班牙语字符进行比较
Comparing chars with spanish characters
我有一个包含任何字符的输入,我需要有一个数组来分隔输入中的单词。数组只需要有字母(是西班牙语,所以它包括重音字母)。我的代码做到了,它只是无法识别特殊的西班牙语字符"、"?"等。
我怎样才能纠正这一点?。。。这是我的密码。
string x[100];
int n = 0;
while (entrada){
entrada>>x[n];
n++;
}
n--;
for(int j = 0;j<n;j++){
cout<<x[j]<<"/";
}
string y[100];
for(int i = 0;i<n;i++)
for(int j = 0; j<x[i].length();j++){
if(!ispunct(x[i][j]))
y[i]+=x[i][j];
}
有了这个代码,我得到了这个输入和输出:
input
=======
Hola,
Cómo estás?
Espero que muy bien. ¡!!!
El otro día que fui al cine me acordé de la
película que vimos el año pasado.
output
========
Hola/Cómo/estás/Espero/que/muy/bien/¡/El/otro/día/que/fui/al/cine/me/acordé/de/la/película/que/vimos/el/año/pasado/
输出只是由"/"分隔的打印数组
尝试设置区域设置,如下所示:
#include <clocale>
...
std::setlocale(LC_ALL, "es_ES");
它应该使ispunct()
识别西班牙语标点符号。
相关文章:
- 比较字符数组
- 比较 c++ 中的字符数组
- 将 if 语句中的字符与 or 进行比较
- 将字符串字节与字符 c++ 进行比较
- 比较"A"、"C"、"G"'T'字符的最快方法
- 如何将字符串字符与结构数组进行比较?
- 字符* 与uint8_t的字符串比较
- 如何将32位字符与内联assembelyc++中的32位字符进行比较
- 如何比较文件中包含的下一个字符
- C++相互比较字符
- 为什么我不能将字符与"*"进行比较?
- 查找和比较两个字符串中的字符
- 将字符比较在一起
- 在数组、流和字符比较中定位
- 字符比较 if 语句无法正常工作
- c++中数字字符和字母字符之间的字符比较
- 字符比较错误
- 字符串,c++中的字符比较
- C++字符串和字符比较
- 根据每个字符比较同一数组中的两个字符串值.此结果仅显示Last OUT值的原因