我想先删除字符串中的最后一个字符,我使用strtok函数我的输入是:"Hello World Yaho"
我" "
用作我的定界符
我的期望是
Hell
Worl
Yah
但是实际输出是这样
Hello
Worl
Yaho
我怎么解决这个问题?我不明白这个输出
这是我的代码
int main(int argc, char*argv[])
{
char *string;
char *ptr;
string = (char*)malloc(100);
puts("Input a String");
fgets(string,100,stdin);
printf("Before calling a function: %s]n", string);
ptr = strtok(string," ");
printf("%s\n", ptr);
while(ptr=strtok(NULL, " "))
{
ptr[strlen(ptr)-1]=0;
printf("%s\n", ptr);
}
return 0;
}
该程序删除每个单词的最后一个字符。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, char*argv[]){
char *string;
char *ptr;
string = (char*)malloc(100);
puts("Input a String");
fgets(string,100,stdin);
printf("Before calling a function: %s\n", string);
string[strlen(string)-1]=0;
ptr = strtok(string," ");
printf("%s\n", ptr);
while(ptr){
ptr[strlen(ptr)-1]=0;
printf("%s\n", ptr);
ptr = strtok(0, " ");
}
return 0;
}
你必须记住
测试
Input a String
Hello World Yaho
Before calling a function: Hello World Yaho
Hello
Hell
Worl
Yah
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句