c++ - 将 char 数组转换为 int 数组

标签 c++ arrays visual-c++

<分区>

我有一个字符数组,我想对其进行排序。问题是,如果我将数组按原样传递给 sort 函数,而不是它实际上转换数组字符,这些字符实际上是 ASCII 等价物中的数字。例如4 变成 52。

std::vector<int> classStudents;
....
char* cend = cAllowedStudents+maxAllowedStudents;
std::sort(cAllowedStudents, cend);
std::set_difference(classStudents.begin(), classStudents.end(),cAllowedStudents, cend,std::back_inserter(diff));

我还尝试通过这个将整个数组转换为单独的 int 数组,(但理想情况下我不想使用另一个数组,只是作为最后的选择):

iAllowedStudents[i]=(int)cAllowedStudents[i];

但它也做同样的事情,所以我如何转换这个 cAllowedStudents 以与 std::set_difference

一起使用

最佳答案

使用:

template< class RandomIt, class Compare >
void sort( RandomIt first, RandomIt last, Compare comp );

并传递自定义比较函数

关于c++ - 将 char 数组转换为 int 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24159473/

相关文章:

c++ - 如何避免 CScrollView 移动时出现闪烁?

c++ - 什么样的容器适合 "The Powder Toy"风格的沙箱?

c# - 紧密循环性能 C# 中的二维数组与数组数组

linux - 有什么方法可以在Linux平台上编译Microsoft样式的内联汇编代码?

c++ - 您是否应该依赖 IF 语句将除 0 以外的任何其他整数值捕获为真?

c++ - 在应该按引用传递的地方按值传递指针

c++ - SDL - C++ 中 LoopTimer 的 FPS 问题

java - Java 中的字符串或字符可以递增吗?

c++ - 从 C++ 中的整数数组获取输入

c++ - 使用 CreateTimerQueueTimer、Visual Studio 2012、C++ 创建计时器,定期运行