我得到了这个:
char file_name[50];
strncpy(file_name, dp2->d_name, sizeof(file_name2));
// put some words in it, for example "E348C", "E348", "E348A"......
我需要找到每个单词的最后一个字符,如果它是数字或字母,请稍后再检查.....但你可以看到的单词长度不一样......
我不知道如何获得最后一个角色......
同样对变量file_name [50]进行char;可以定义为char * file_name;我不在乎....
有什么想法吗?
答案 0 :(得分:2)
编辑:似乎问题已在上述评论中得到解决,但未来也许有人会提出类似的问题......
请查看评论。
#include <stdio.h>
#include <string.h>
int main(void) {
char file_name[50];
char inp[] = "something3";
strncpy(file_name, inp, sizeof(inp));
printf("%s\n", file_name);
// strlen returns the length of a string.
char end_char = file_name[strlen(file_name)-1];
printf("%c\n", end_char);
if (isdigit(end_char)) { // checks if end_char is a number
printf("last character is a number\n");
}
if (isalpha(end_char)){ // checks if end_char is a letter
printf("last character is a character\n");
}
return 0;
}
inp[] = "something3"
的示例输出:
something3
3
last character is a number
inp[] = "somethingX"
的示例输出:
somethingX
X
last character is a character