Tag: 字符串

如果我们有多个分隔符,如何提取字符串?

如果我有这个代码: int main () { char *sentence = “Wisteria#Tunnel”; char stringA[50]; char stringB[50]; char stringC[50]; pDelim = strstr(sentence,”#”); *pDelim = ‘\0’; strcpy(stringA,sentence); strcpy(stringB,(pDelim+1)); return(0); } 运行后, stringA将是“Wisteria”, stringB将是“Tunnel”,对吧? 如果: char *sentence = “Wisteria#Tunnel#Japan”; 如何将其提取为三部分, stringA将为“Wisteria”, stringB为“Tunnel”, stringC为“Japan” 谢谢。

C文件处理查询

所以我有一个程序,它接受用户输入并将其与文件中的特定行进行比较,但是最后一行总是被认为是不正确的,所以有人能为我解决这个问题吗?谢谢。 文件内容(只是一个随机单词列表) Baby Milk Car Face Library Disc Lollipop Suck Food Pig (库是stdio,conio和string) char text[100], blank[100]; int c = 0, d = 0; void space(void); int main() { int loop = 0; char str[512]; char string[512]; int line = 1; int dis = 1; int score = 0; char text[64]; FILE *fd; fd = fopen(“Student […]

通过指针更改C中的字符串文字?

可能重复: 为什么在写入字符串时会出现分段错误? 我有以下程序: char *s = “abcdf”; char s1[50] = “abcdf”; s1[0] = ‘Q’; // Line 1 s[0] = ‘P’; // Line 2 为什么Line 1正常工作而Line 2导致程序崩溃?

使用strcpy()和复制C中char *的地址之间的区别

我有两个动态分配的数组。 C char **a = (char**)malloc(sizeof(char*) * 5)); char **b = (char**)malloc(sizeof(char*) * 5)); for (int i = 0; i < 7, i++) { a[i] = (char*)malloc(sizeof(char)*7); b[i] = (char*)malloc(sizeof(char)*7); } 如果a[0]是”hello\0″并且我想将a[0]复制到b[0] , strcpy和指针赋值是否相同? 例如: strcpy(b[0], a[0]) b[0] = a[0] 这些都会做同样的事吗?

strcpy:实现方法

我正在浏览库函数strcpy的可能实现方法。 它是 : void strcpy(char *src, char *dest) { while (*dest++ = *src++) ; } 如果不检查’\0’这怎么可能工作?

将内存分配给双指针?

我无法理解如何为双指针分配内存。 我想读取一个字符串数组并存储它。 char **ptr; fp = fopen(“file.txt”,”r”); ptr = (char**)malloc(sizeof(char*)*50); for(int i=0; i<20; i++) { ptr[i] = (char*)malloc(sizeof(char)*50); fgets(ptr[i],50,fp); } 而不是这个我只是分配一个大的内存块并存储字符串 char **ptr; ptr = (char**)malloc(sizeof(char)*50*50); 那会错吗? 如果是这样,为什么呢?

将字符插入字符串

我想将””添加到{“status”:true}以便字符串看起来像”{“status”:”true”}” 。 如何在特定位置的字符串中插入字符? 我尝试了strncat() ,但无法获得所需的结果。 我读到你需要为此创建自己的function。 有人能告诉我一个例子吗?

strtoull和长期算术

任何人都可以解释这个程序的输出以及我如何解决它? unsigned long long ns = strtoull(“123110724001300”, (char **)NULL, 10); fprintf(stderr, “%llu\n”, ns); // 18446744073490980372

有没有办法在C中的多个字符上拆分字符串?

在C中是否有一种方法来分割字符串(使用strtok或任何其他方式),其中分隔符的长度超过一个字符? 我正在寻找这样的东西: char a[14] = “Hello,World!”; char *b[2]; b[0] = strtok(a, “, “); b[1] = strtok(NULL, “, “); 我希望这不会拆分字符串,因为逗号和W之间没有空格。有没有办法做到这一点?

如何用单个空格替换多个空格?

好吧,我正在寻找一个减少字符串中多个空格字符的函数。 例如,给出字符串s : s=”hello__________world____!” 该函数必须返回”hello_world_!” 在python中我们可以通过regexp简单地完成它: re.sub(“\s+”, ” “, s);