gpt4 book ai didi

C 删除字符串中的最后一个字符

转载 作者:太空狗 更新时间:2023-10-29 15:01:57 24 4
gpt4 key购买 nike

我想删除字符串中的最后一个字符首先,我使用 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;
}

你一定要记住

  1. 从尾随换行符中删除字符串
  2. 正确使用strtok

测试

Input a String
Hello World Yaho
Before calling a function: Hello World Yaho

Hello
Hell
Worl
Yah

关于C 删除字符串中的最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37741349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com