Tag: 字符串

凯撒的密码

#include void caesar (char cipher[], int shift); int main () { char cipher[50]; int shift; printf(“Enter text to be encrypted IN CAPITAL LETTERS ONLY: “); scanf(“%s”, cipher); printf(“How many shifts do you prefer? 1-10 only: “); scanf(“%d”, &shift); caesar (cipher, shift); return 0; } void caesar (char cipher[], int shift) { int i = 0; […]

如何在C中创建字符串数组?

我正在从一本书中自学C,我正在尝试创建一个填字游戏。 我需要创建一个字符串数组但仍然遇到问题。 另外,我不太了解数组…… 这是代码片段: char word1 [6] =”fluffy”, word2[5]=”small”,word3[5]=”bunny”; char words_array[3]; /*This is my array*/ char *first_slot = &words_array[0]; /*I’ve made a pointer to the first slot of words*/ words_array[0]=word1; /*(line 20)Trying to put the word ‘fluffy’ into the fist slot of the array*/ 但我不断收到消息: crossword.c:20:16: warning: assignment makes integer from pointer without a cast […]

如何在C中读取包含空格的字符串?

scanf(“%s”,str)不会这样做。 它会在第一个空间停止阅读。 当字符串很大时,gets(str)也不起作用。 有任何想法吗?

用c替换另一部分字符串的最佳方法?

可能重复: 如何在c中替换substring? 我试图寻找一个更好的解决方案来解决这个问题。 有可用的代码,但都适用于C ++。 不要忘记这在Java中非常简单和基本。 我想在C中找到一个很好的最佳解决方案 任何帮助将不胜感激! 谢谢!

C动态字符串长度

在C中创建动态字符串有不同的方法(长度不断变化)。 经过一些谷歌搜索,这样做的主要方法是使用realloc() 。 我实现这一点的方法是使用每个节点具有32字节块的链表。 我想知道除了使用realloc()和链接列表之外是否有更好的解决方法,以及每种方法的缺点和优点。 编辑我这样做的原因是因为我从套接字recv()接收动态数据,并且正在寻找一种灵活的存储方式,而不需要分配大量不需要的数据。

C中的char指针初始化

关于字符指针以及它们是如何工作的我不太清楚。 该程序构建,但运行时崩溃。 char *ab = NULL; //ab = “abc123”; // works fine sprintf(ab, “abc%d”, 123); // this line seems to crash the program 当sprintf接受(char * str)作为第一个参数时,我不明白这是怎么回事。 有人可以向我解释一下吗?

在字符串中查找子字符串的计数

我必须使用C语言在字符串中找到子字符串的计数。 我正在使用函数strstr但它只找到第一次出现。 我对算法的想法就像在字符串中搜索而strstr不返回null并在每个循环中对主字符串进行子串。 我的问题是如何做到这一点?

在C中查找字符串数组中的字符串数

char* names[]={“A”, “B”, “C”}; 有没有办法找到数组中的字符串数量。 例如,在这种情况下,它必须是3.请让我知道。 谢谢。

如何将printf存储到变量中?

我想使用类似于C中printf所做的事情来存储格式化的字符串。 char *tmp = (char *)sqlite3_column_text(selectstmt, 2); const char *sqlAnswers = printf(“select key from answer WHERE key = %s LIMIT 5;”, tmp); 后者显然是一个错误。

理解strlen实现中的代码

关于glibc中string.h中strlen的实现,我有两个问题。 该实现使用带有’holes’的幻数。 我无法理解这是如何工作的。 有人可以帮我理解这个片段: size_t strlen (const char *str) { const char *char_ptr; const unsigned long int *longword_ptr; unsigned long int longword, himagic, lomagic; /* Handle the first few characters by reading one character at a time. Do this until CHAR_PTR is aligned on a longword boundary. */ for (char_ptr = str; ((unsigned long int) […]