我正在尝试显示此C程序中每个单词的第一个字母。但是,它没有识别我给定输入中的空格。我在if语句中打印一行作为调试措施。但是,该行未被执行。它只输出输入的第一个元素。提前致谢!
$file = fopen("file.csv","w"); //csv file created here with write mode
foreach ($row as $line){
fputcsv($file,explode(',',$line));
}
fclose($file); //csv file closed here
答案 0 :(得分:0)
将'game='
更改为sacnf("%s", &ss)
在sacnf("%[^\n]", &ss)
scanf
中扫描一个字符串,直到空格或换行符
在%s
,您告诉scanf扫描到sacnf("%[^\n]", &ss)
,现在scanf将扫描您提供的所有内容作为输入,直至\n
字符。
在其他地方,您可以使用此技术将输入扫描到特定字符。只需用所需的字符替换\n
字符。
答案 1 :(得分:0)
您可以使用C库函数&#39; isspace()&#39;。要使用此功能,您需要打开ctype库#include <ctype.h>
。如果字符是空格(tab,vtab,new line),则函数将返回1,否则返回值为0.
答案 2 :(得分:0)
同样在这种情况下,您可以使用gets();功能。 右字符串输入的代码是:
char txt[101] = {0}, *ptr;
printf("Message: \n"); // note \n
gets(txt);
ptr = (char*)calloc( strlen(txt)+1, sizeof(char));
// note + 1 we need byte space for '\0' character
strcpy(ptr, txt);