Tag: 字符串

如何将无符号字符数组转换为C中的字符串?

如果我有这样的数组 unsigned char data[2850] = “”; 在运行我的程序的一部分之后,最终会充满字节元素,这样如果我遍历它并将其记录下来,我会看到以下内容 for (size_t i= 0; i < sizeof(data); i++) { printf("%02X ", data[i]); } //log window shows 01 24 81 00 0E 1C 44 etc… 有没有办法获取数据数组的所有元素并将它们放入const char? 或者只是一个大字符串? 希望我足够清楚。 我的目标是最终将此数据数组的所有元素转换为base64编码的字符串,我可以在程序中的其他位置使用。

计算字符串中数字的出现次数

所以我试图计算一个数组中每个数字的出现次数。 到目前为止,我的代码如下所示: #include #include int main() { int numbers [10]= {1, 4, 5, 5, 5, 6, 6, 3, 2, 1}; int count = 0; for(int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if (numbers[i] == numbers[j]) { count++; } } printf("Number %d has occured […]

为什么直接比较字符串失败,但成功使用char *

在以下工作代码中; 如果我直接使用比较,而不是使用*tofind if(*argv[i] == “and”) 它失败。 那为什么会这样? /** * Find index of the word “and” * ./a.out alice and bob */ int main(int argc, char **argv) { int i = 0; char *tofind = “and”; while (argv[i] != NULL) { if(*argv[i] == *tofind) { printf(“%d\n”, i + 1); break; } ++i; } return 0; }

如何比较C中的字符串条件

我在比较C中的两个字符串时遇到问题,看它们是否相等。 switch(i) { case 1: printf(“Got in case 1. TextA=%s word=%s \n”,TextA,word); if(TextA == word) { SubTypeOption = 1; printf(“SubTypeOptioon = %d”,SubTypeOption); } 在我的输出中,我得到“得到的情况1. TextA = SupTypeA字= SupTypeA SubTypeOption = 0”//所以它没有被改变

c中的子串不使用函数

我已经看到了许多使用strndup或memcpy或strncpy等获取字符串子串的解决方案。 我想知道是否有办法在不使用这些函数的情况下获取子串; 即使这是不必要的。 编辑:我自己尝试制作function; 我不记得问题是什么,但出了问题,我最终没有使用它。 char *substring(char *str, int start, int length) { char *s = malloc(sizeof(char)*(length+1)); for(int i=start; i<start+length; i++) { s[i-start] = str[i]; } s[length] = '\0'; return s; }

反转字符串并计算在C中反转的字符数

我的教授已经开始使用代码,它看起来像…… #include “stdafx.h” int main(int argc, char* argv[]) { int numchar; char mystring[] = “This is the string to be printed in reverse order”; numchar = reverseString(mystring); puts(“Reversed String is “); puts(mystring); } int reverseString(char *mystring) { } 现在我应该完成它,那就是我被困住的地方。 我已经查找了无数的逆转字符串的示例程序,但所有这些程序都是以不同的方式完成的,而我却迷失了如何将其“转换”为我教授为我们提供的代码的适当上下文。 我也对’int argc’应该是什么感到困惑。 但是,我想在计算并返回反转的字符数时,我可以简单地输入这样的东西for(int length=0; str[length]!=’\0′;length++); 但除此之外,我很难过。

在文件解析中使用fgets()

我有一个包含几行的文件。 我正在对文件进行标记,如果标记包含.word ,我想将该行的其余部分存储在c-string中。 所以如果: array: .word 0:10我想将0:10存储在一个c-string中。 我正在做以下事情: if (strstr(token, “.word”)) { char data_line[MAX_LINE_LENGTH + 1]; int word_ret = fgets(data_line, MAX_LINE_LENGTH, fptr); printf(“.word is %s\n”, data_line); } 这个问题是fgets()抓住下一行。 我如何获取当前行的剩余部分? 那可能吗? 谢谢,

C语言中字符串数组的动态分配

对于家庭工作,我需要定义一个将内存分配给字符串数组的函数(它是一个结构体)。 给出每个字符串的长度:MAX_WORD_LEN + 1(= 10 + 1)我必须为len个字符串分配内存, len在输入中接收。 具有字符串数组定义的struct(给定): struct dict{ int len; char (*dict0)[MAX_WORD_LEN+1]; char (*dict1)[MAX_WORD_LEN+1]; }; 我不明白声明char (*dict0)[MAX_WORD_LEN+1]; 函数声明也给出了: void createDict(struct dict * myDict); 这是我写的,但我不确定它是否有效,而且我很难在编译器中检查它。 我也根据这个和其他网站的post写了它,并没有真正理解它: 选项1: void createDict(struct dict* myDict) { myDict->(*dict0) = malloc( (myDict->len)*sizeof(char*)); myDict->(*dict1) = (char**) malloc( (myDict->len)*sizeof(char*)); for(int i=0;ilen);i++) { (myDict->(*dict0)[i]) = (char*)malloc((MAX_WORD_LEN+1)*sizeof(char)); (myDict->(*dict0)[i]) = (char*)malloc((MAX_WORD_LEN+1)*sizeof(char)); } } 方案2: […]

如何从字符串中获取单词并将它们放在字符串数组中? 在C.

我基本上在一个字符串中有一个句子,并希望将每个单词的单词分解。 每个单词都应该进入一个字符串数组。 我不被允许使用strtok 。 我有这个代码,但它不起作用。 有人可以帮忙吗? 在互联网上肯定有类似的东西,但我找不到任何东西…… int main(){ char s[10000]; // sentence char array[100][100]; // array where I put every word printf(“Insert sentence: “); // receive the sentence gets(s); int i = 0; int j = 0; for(j = 0; s[j] != ‘\0’; j++){ // loop until I reach the end for(i = 0; […]

将字符串附加到字符串

我正在尝试将字符串附加到字符串。 我试过了 char *string = malloc(strlen(text) * sizeof (char)); for(i=0, i <n; i++) { j = i; while (j <= strlen(text)) { string[strlen(string)] = text[i]; j = j + n; } string[strlen(string)] = '\0'; printf("%s", string); string = ""; } 我的目标是创建text变体。我的代码出现了分段错误。 我究竟做错了什么? 编辑:更清楚我想做的是:让我们说text =“asdfghjk”对于n = 3我想要以下输出: afj sgk dh