- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码。
// mfc.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "mfc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
#include <cctype>
#include <string>
#include <sstream>
#include <tchar.h>
#include <iostream>
#include <Strsafe.h>
#include <algorithm>
#include <cmath>
#include <limits>
#include <functional>
#include <cassert>
std::wstring toStringWithoutNumerical(const std::wstring& str) {
std::wstring result;
bool alreadyAppendSpace = false;
for (int i = 0, length = str.length(); i < length; i++) {
const TCHAR c = str.at(i);
if (isdigit(c)) {
continue;
}
if (isspace(c)) {
if (false == alreadyAppendSpace) {
result.append(1, c);
alreadyAppendSpace = true;
}
continue;
}
result.append(1, c);
alreadyAppendSpace = false;
}
return result;
}
// The one and only application object
CWinApp theApp;
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
_tprintf(_T("Fatal Error: MFC initialization failed\n"));
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
}
std::wstring me = toStringWithoutNumerical(_T("My Leg 1 Long"));
AfxMessageBox(me.c_str());
// Crash!
std::wstring he = toStringWithoutNumerical(L"我的脚1盘");
AfxMessageBox(he.c_str());
return nRetCode;
}
对于第一个消息框,
我的腿长
将显示。
对于第二个消息框,将发生崩溃,断言在 isctype.c 处失败
_ASSERTE((unsigned)(c + 1) <= 256);
如何获得标准函数(isdigit、isspace...)以支持 256 范围外的 unicode?
最佳答案
是数字吗?
http://www.opengroup.org/onlinepubs/007908775/xsh/iswdigit.html
http://msdn.microsoft.com/en-us/library/fcc4ksh8(VS.71).aspx
另外,查找 iswspace ;)
关于c++ - Unicode 支持的 isdigit 和 isspace 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3108282/
我正在构建一个包含 cuda 代码的 cmake 项目。我无法编译包含多个 h 文件的 cuda 文件之一。这是我收到的编译器错误 In file included from /usr/include
我最近想找到一种使用 STL 修剪字符串的方法。我看到有人用 remove_if(str.begin(), str.end(), isspace); 我找到了 isspace是STL中的一个函数,he
为什么大多数 C++ 编译器都能够推断出 ::isspace 的类型并将其隐式转换为 std::function,但它们却不能这样做对于 std::isspace? 请参阅the following不
这可能是我的代码不起作用,但任何空白字符(\n、\t、\r 等)都不会转换为空格“”。据我所知,它看起来应该可以工作,但每次遇到新行时都会出现段错误。 编辑:抱歉,它确实将空白字符更改为“”,但它在新
我是新手,目前正在学习 C++。我目前正在学习 cctype(ctype) 中的字符函数。我无法理解为什么 isspace(a_character) 没有返回我的 cout 消息——问题是它甚至不接受
救命啊!由于某种原因,我的函数没有识别所有数据集上的空格。见下文: 我在代码中使用以下函数: function [ll]=f_get_length(A) l1=length(A); for ii
如何让 while 函数在 i 位置为空格时停止? #include #include #include #include int main () { int i,t; cha
我正在为我的程序开发一个函数,该函数从文本文件中读取名字和姓氏并将它们保存为两个字符串。但是,当 for 循环到达名字和姓氏之间的第一个空格时,我无法让 if(isspace(next)) 语句执行。
我试图为我的个人实验覆盖 isspace() 的功能,所以我试图导航到它的原始来源。我在以下实现中登陆了 builtins.py: def isspace(self): # real signatur
str.isspace()非常方便地检查一行是否为空(它包含空格和返回字符)。 是否可以使用其他一些字符(例如逗号)进行扩展,这些字符在检查期间也应被视为“空格字符”? 最佳答案 无法扩展 str.i
我正在编写一个程序来计算文本文件中空白字符的数量。我用“isspace”来计算它。文本文件中的内容是“1 1 1”,但是计数器还是0,代码有什么问题吗? #include "stdafx.h" #in
我正在尝试编写一个函数,该函数返回指向字符串 s 中指针 p 之后的第一个空白字符的指针,指针 p 指向 s 中的一个字符。如果没有空白字符,它应该返回空字符\0。 现在我遇到的问题是,我对这个问题的
我试图返回是或否答案来显示字符串是否包含空格或字母。粗体部分是我需要纠正的部分。我得到了其他部分... 这是我输入的内容,但效果不正确... if (string.isalpha() and stri
我一直在寻找一种删除前导空格的标准方法,并且我发现了一种使用指针和 isspace() 的非常简单的方法。 ,但是我们的教授不允许我们使用 图书馆。下面的方法可行吗? char LeadingSpac
我的程序应该计算输入字符串中元音、辅音、数字和空格的数量。它只计算位数。请帮忙。 #include using namespace std; void counter(char string[], i
在我的代码中: cout << "Isspace 5 and 10 are " << isspace(5) << " and " << isspace(10) << endl; 给出 0 和 8。为什
这个问题在这里已经有了答案: How to cin Space in c++? (8 个答案) 关闭 9 年前。 可能这已被问过 100 次,但我找不到或无法提供解决方案。一切(据我测试)都被识别,
我几乎完成了我的代码,但我无法弄清楚两件事。 首先,我希望能够说“您没有输入任何内容!”如果有人在程序开头输入的字符串中输入零个字符,则结束程序。 此外,在中间我无法弄清楚如何一起使用 isalpha
我这里有这个练习。当我输入一个包含多个空格的句子时,我希望它能告诉我那个数字。但是,它只会说 0 个空格。我是否犯了一个愚蠢的小错误? #include #include #define COUN
我有以下函数返回字符串中的空格, char *rtrim(char *l_ptr) { char *lptr = l_ptr + strlen(l_ptr) - 1; for (; l
我是一名优秀的程序员,十分优秀!