在 C 中复制字母数字字符

标签 c pointers string

我有一个 char 文本数组,想将字母数字小写值存储在指针数组中。即 mystr 应该指向“50sometexthere”的 char[]

char[] myline = " 50 Some Text  Here ";
char *mystr = (char *)malloc(128 * sizeof(char));

char *tmp = myline;

while (*tmp != '\0'){
 if (isalnum(*tmp))
  strcat(mystr,(char*) tolower(*tmp));
 tmp++;
}

我做错了什么?

最佳答案

char *myline = " 50 Some Text  Here ";
char *mystr = (char *)malloc(128); //sizeof char is always 1

char *tmp = myline;
char *tmpdest = mystr;

while (*tmp != '\0'){
 if (isalnum(*tmp))
  *tmpdest++ = tolower(*tmp); //this line is changed!
 tmp++;
}

*tmpdest = '\0';

HTH

关于在 C 中复制字母数字字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4009155/

相关文章:

c - C中静态和非静态数组的区别

c# - 无法将 uint* 转换为 uint[]

c++ - C 中的多维数组

java - 字符串数组反转Java

C 将动态数组传递给函数

c - 在 C 中将一个 int 值赋给一个指针

java - 从java servlet以正确的格式将数据插入到mysql表中

java - 周期字符串

c - 如何选择要使用 GLib 测试套件运行的测试?

c - c中的双指针和二维数组