嘿伙计我正在从混合字符串中提取一些单词。首先我从文本文件中获取带有fgets函数的行,当然\ n附带它。这是要处理的示例字符串;
{,(,),}\n\0
从字符串中丢弃\ n和','我正在使用此代码片段;
int k=0;
int inputWordIndex=0;
while(k<strlen(tempInputLine))
{
if(tempInputLine[k]!=','&&tempInputLine[k]!='\n')
{
inputWord[inputWordIndex]=tempInputLine[k];
inputWordIndex++;
}
k++;
}
inputWord[inputWordIndex]='\0';
此代码在我的计算机上运行良好,在-Wall -ansi模式下具有代码块。 strlen(inputWord)在我的计算机上返回4,而dev机器上完全相同的代码返回5.奇怪的是,在word结束后手动输入\ 0后,我无法用%s,inputWord命令打印它.Is有一个语法错误导致这种行为,在Dev机器上反应不好?
编辑:添加真实的样本文件。希望它不会被改变,因为我ctrl-A ed all。
{,(,),} (,(